Bash (Unix shell)

Edit · View history

Overview

Bash (Bourne Again SHell) is a Unix shell and command language written by Brian Fox for the GNU Project as a free software replacement for the Bourne shell. First released in 1989, it has since become the default login shell for most Linux distributions and macOS (until Catalina, when it was replaced by Zsh). Bash is also available for Windows via Windows Subsystem for Linux and other compatibility layers.

Bash is both an interactive command interpreter and a scripting language. It supports command-line editing, job control, aliases, functions, and a rich set of built-in commands. Its syntax is largely compatible with the Bourne shell, but adds many extensions drawn from the Korn shell and C shell.

History

Bash was created in 1987 by Brian Fox after the Free Software Foundation (FSF) desired a shell that could be freely redistributed. The first public release, version 0.99, came in 1989. Over the following years, Bash absorbed features from other shells, such as history expansion, one-dimensional arrays, and arithmetic evaluation. In 1996, Chet Ramey became the primary maintainer, a role he continues to hold.

Bash was a central component of the GNU Operating System and is often the shell used in the GNU/Linux ecosystem. It has been ported to nearly every Unix-like system and is distributed under the GNU General Public License.

Features

Usage

Bash scripts are commonly used for system administration, automation, and build processes. Many Linux startup scripts and package managers rely on Bash. Users commonly customize their environment via `~/.bashrc`, `~/.bash_profile`, and `/etc/bash.bashrc`.

See also