Summary of bash Features

bash is a backward-compatible evolutionary successor to the Bourne shell that includes most of the C shell’s major advantages as well as features from the Korn shell and a few new features of its own. Features appropriated from the C shell include:

  • Directory manipulation, with the pushd, popd, and dirs commands.

  • Job control, including the fg and bg commands and the ability to stop jobs with CTRL-Z.

  • Brace expansion, for generating arbitrary strings.

  • Tilde expansion, a shorthand way to refer to directories.

  • Aliases, which allow you to define shorthand names for commands or command lines.

  • Command history, which lets you recall previously entered commands.

bash’s major new features include:

  • Command-line editing, allowing you to use vi- or emacs-style editing commands on your command lines.

  • Key bindings that allow you to set up customized editing key sequences.

  • Integrated programming features: the functionality of several external UNIX commands, including test, expr, getopt, and echo, has been integrated into the shell itself, enabling common programming tasks to be done more cleanly and efficiently.

  • Control structures, especially the select construct, which enables easy menu generation.

  • New options and variables that give you more ways to customize your environment.

  • One dimensional arrays that allow easy referencing and manipulation of lists of data.

  • Dynamic loading of built-ins, plus the ability to write your own and load them into the running shell.

Get Learning the bash Shell, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.