There are several shells available in Linux, the default shell is the Bourne Again SHell —a pun on the name of Steve Bourne, who was author of the traditional Unix shell, the Bourne shell.
A shell is a program that takes commands from the user and passes them on to the kernel for processing.
Like all the other shells in Linux, the Bash shell is not only a great tool for the command line, but also a scripting language.
Shell scripting allows you to automate tasks that in a normal way would need typing in a lot of commands.
FYI: Some other shells are: the C shell, or Korn shell (the default on IBM’s AIX operating system); the ASH shell ( ash is useful for testing scripts to be sh-compliant ), the TCSH shell ( completely compatible version of the Berkeley Unix C shell ) and the new ZSH shell ( ZSH most closely resembles KSH but includes many enhancements ).
As you open a terminal/console you actually open a shell and you are presented with a bash prompt. A Bash prompt typically ends with a $ to show you´re logged in as a normal user ( Only in SuSE it ends with > for the user ). A Bash prompt ending with # shows that we are logged in as root ( Same in SuSE this time ).