Chapter 20. bash: The Bourne-Again Shell

bash is the GNU version of the standard Bourne shell—the original Unix shell—and incorporates many popular features from other shells such as csh, tcsh, and the Korn shell (ksh). tcsh, which is described in the following chapter, offers many of the features in this chapter, and is also available on most distributions of Linux. However, bash is the default user shell for Mac OS X Panther.

If executed as part of the user’s login, bash starts by executing any commands found in /etc/profile . It executes the commands found in ~/.bash_profile, ~/.bash_login, or ~/.profile (searching for each file only if the previous file is not found).

In addition, every time it starts (as a subshell or a login shell), bash looks for a file named ~/.bashrc. Many system administration utilities create a small ~/.bashrc automatically, and many users create quite large startup files. Any commands that can be executed from the shell can be included. Here’s a small sample file:

# Set bash variable to keep 50 commands in history. HSTSIZE=50 # # Set prompt to show current working directory and history number of # command. PS1='\w: Command \!$ ' # # Set path to search for commands in my directories, then standard ones. PATH=~/bin:~/scripts:$PATH # # Keep group and others from writing my newly created files. umask 022 # # Show color-coded file types. alias ls='ls --color=yes' # # Make executable and .o files ugly yellow so I can find and delete them. export LS_COLORS="ex=43:*.o=43" ...

Get Mac OS X Panther in a Nutshell, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.