Bash
By the GNU Project
Bash (Bourne Again SHell) is a Unix command-line interpreter and scripting language used to execute commands, chain programs together, and automate system tasks.
Definition
Bash (Bourne Again SHell) is a Unix command-line interpreter and scripting language used to execute commands, chain programs together, and automate system tasks.
Overview
Bash was written by Brian Fox for the GNU Project in 1989 as a free replacement for the original Bourne shell, and it has since become the default shell on most Linux distributions and, for years, on macOS. As an interactive shell, it lets users run programs, navigate the filesystem, and chain commands together using pipes and redirection; as a scripting language, it supports variables, conditionals, loops, and functions, making it possible to automate repetitive command-line workflows in a single reusable file. Bash scripts are pervasive in the DevOps toolchain — they commonly appear as Docker entrypoint scripts, Ansible task wrappers, CI pipeline steps, and cron jobs. Alternative shells such as Zsh have gained popularity for interactive use (Zsh is now the default on macOS), but Bash's ubiquity and POSIX-adjacent compatibility keep it the most portable choice for scripts meant to run across different Unix-like systems.
Key Features
- POSIX-compliant scripting with variables, conditionals, loops, and functions
- Pipes and redirection for chaining and composing commands
- Extensive set of built-in commands and job control
- Default or near-universally available shell on Linux and Unix-like systems
- Widely used as the scripting glue in automation and CI/CD pipelines
- Large body of existing scripts, tutorials, and tooling built around it