Overview
Four different major shells are commonly used on Linux systems: the Bourne Again shell (BASH), the Public Domain Korn shell (PDKSH), the TCSH shell, and the Z shell. The BASH shell is an advanced version of the Bourne shell, which includes most of the advanced features developed for the Korn shell and the C shell. TCSH is an enhanced version of the C shell, originally developed for BSD versions of Unix. PDKSH is a subset of the Unix Korn shell, whereas the Z shell is an enhanced version of the Korn shell. Although their Unix counterparts differ greatly, the Linux shells share many of the same features. In Unix, the Bourne shell lacks many capabilities found in the other Unix shells. In Linux, however, the BASH shell incorporates all the advanced features of the Korn shell and C shell, as well as the TCSH shell. All four shells are available for your use, though the BASH shell is the default.
So far, all examples in this book have used the BASH shell. You log into your default shell, but you can change to another shell by entering its name. tcsh invokes the TCSH shell, bash the BASH shell, ksh the PDKSH shell, and zsh the Z shell. You can leave a shell with the CTRL-D or exit command. You only need one type of shell to do your work. This chapter describes common features of the BASH shell, such as aliases, as well as how to configure the shell to your own needs using shell variables and initialization files. The other shells share many of the same features and use similar variables and initialization files.