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 ).
-- Dec 9 2003 ( Revised Dec 9 2005 ) --