Shell. Terminal. Bash.
All names for the command line interpreters we use when programming/coding in the 21st century.
A Unix shell is a command-line interpreter or shell that provides a command line user interface for Unix-like operating systems(like Linux & MacOS). The shell is both an interactive command language and a scripting language, and is used by the operating system to control the execution of the system using shell scripts.
Users typically interact with a Unix shell using a terminal emulator; however, direct operation via serial hardware connections or Secure Shell are common for server systems. All Unix shells provide filename wildcarding, piping, here documents, command substitution, variables and control structures for condition-testing and iteration.
The most generic sense of the term shell means any program that users employ to type commands via a keyboard. A shell hides the details of the underlying operating system and manages the technical details of the operating system kernel interface, which is the lowest-level, or "inner-most" component of most operating systems.