GNU Bash
The default login shell on most Linux distributions.
The Bourne Again SHell was written for the GNU project as a free replacement for the original AT&T Bourne shell. Bash combines features from sh, ksh, and csh, including command-line editing (emacs and vi modes), job control, brace expansion, shell functions, arrays, and process substitution, while remaining largely backward compatible with sh scripts written for the original Bourne shell.
Bash is the default interactive shell on most major Linux distributions and on macOS up to version 10.14. Its scripting language is the most widely used dialect of shell, and shell scripts written for Bash run on a vast range of systems with little modification. The shell supports startup files (~/.bashrc, ~/.bash_profile) for customisation and a sizable universe of techniques and idioms accumulated over its 30+ years.
Brian Fox wrote the first version in 1988 for the GNU project; Chet Ramey took over maintenance shortly after and has remained the lead maintainer since. The licence is GPL-3.0+. Despite the rise of Zsh (now default on macOS) and fish (popular in developer dotfiles), Bash remains the universal Linux scripting shell — the language any portable shell script should target, and the language /bin/sh symlinks to on most systems where it is not strict POSIX sh.
Install
Bash is preinstalled on virtually every Linux distribution. To install or upgrade explicitly: Debian/Ubuntu: sudo apt install bash Fedora/RHEL: sudo dnf install bash Arch: sudo pacman -S bash macOS: brew install bash
Authors
- Brian Fox (original author, 1988)
- Chet Ramey (current maintainer)