1. What is Bash?

Starting and stopping programs is the most common task in using computers. You may have typed a hundred or thousand times the commands ls and cd. To do so a text based program called the shell is included in UNIX since its beginning in 1969. The shell used in the early years of UNIX was the Thompson Shell.

But the limitations of the Thompson Shell were explored soon. In 1977 the more advanced Bourne Shell replaced the Thompson Shell. Up today it is the standard shell of UNIX, called sh. Starting the GNU project raised the need of a free reimplementation of sh. This was done by Brian Fox. Bash is a free replacement of the Bourne Shell. The name is an acronym for Bourne-Again SHell. Bash was released first in 1989.

Bash is a command interpreter that allows the execution of commands as well as redirecting their in- and outputs and a programing language, which provides built-in commands, control structures, shell functions, shell expansion, shell redirection or recursive programing. Bash adopt the builtin functions from the Bourne Shell as well as features from the Korn Shell and C Shell. The rules for evaluation and quoting are taken from the POSIX specification for the standard UNIX shell.