Chapter 5. bash: The Bourne-Again Shell


bash is the GNU version of the standard Bourne shell the original Unix shelland incorporates many popular features from other shells such as csh , tcsh , and the Korn shell ( ksh ). tcsh 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 Tiger.

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     #     # Quick and dirty test of a single-file program.     function gtst ( ) {         g++ -o  .C && ./     }     #     # Remove .o files.     alias clean='find ~ -name \*.o -exec rm {  } \;' 

bash provides the following features :

  • Input/output redirection

  • Wildcard characters (metacharacters) for filename abbreviation

  • Shell variables for customizing your environment

  • Powerful programming capabilities

  • Command-line editing (using vi - or Emacs-style editing commands)

  • Access to previous commands (command history)

  • Integer arithmetic

  • Arithmetic expressions

  • Command name abbreviation (aliasing)

  • Job control

  • Integrated programming features

  • Control structures

  • Directory stacking (using pushd and popd )

  • Brace/tilde expansion

  • Key bindings



MAC OS X Tiger in a Nutshell
Mac OS X Tiger in a Nutshell: A Desktop Quick Reference (In a Nutshell (OReilly))
ISBN: 0596009437
EAN: 2147483647
Year: 2003
Pages: 130

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net