bash (The Bourne Again Shell) --

Agreed, not everyone is using the BASH shell. Shells, like operating systems are a religious thing.

Bash is the shell, or command language interpreter, that will appear in the GNU operating system (if it ever will be released). Bash is an sh-compatible shell that incorporates useful features from the Korn shell (ksh) and C shell (csh). It is intended to conform to the IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard. It offers functional improvements over sh for both programming and interactive use. In addition, most sh scripts can be run by Bash without modification. The linux operating system uses the bash shell as its default shell. This is a public domain shell written by the Free Software Foundation under their GNU initiative.

Ultimately it is intended to be a full implementation of the IEEE Posix Shell and Tools specification. This shell is widely used within the academic community.

The improvements offered by BASH include:

Command line editing (Emacs and vi mode)
Unlimited size command history
Job Control
Shell Functions and Aliases
Indexed arrays of unlimited size
Integer arithmetic in any base from two to sixty-four

I have been using the Bourne and Korn Shell for several years but when the linux thing started I almost immediately switched to the BASH. I really like the history and command line editing features. You can grab a copy of my bash config files from here

Summary of shell facilities

  Bourne C TC Korn BASH
command alias No Yes Yes Yes Yes
shell scripts Yes Yes Yes Yes Yes
filename completion No Yes Yes Yes Yes
command line editing No No Yes Yes Yes
job control No Yes Yes Yes Yes
command history No Yes Yes Yes Yes

Download the bash and other GNU stuff from the complete GNU archive at

There is a book by O'Reilly about the BASH shell. Look here for details.

The "Absolute Bash Scripting Page" is here

Last update by Hermann Heimhardt on April 3, 2002
Back to the main page