Search for a command to run...
Unix shell and command language that serves as the default interactive and scripting environment on most Linux distributions and many other Unix-like systems. Combines sh compatibility with extensions from the Korn and C shells: integer arithmetic, indexed arrays, job control, unlimited command history, and rich command-line editing. Intended to conform to the POSIX Shell and Tools standard, allowing most sh scripts to run without modification while offering stronger programming features for interactive use and automation.
Maintained as part of the GNU Project under the GPL. The default login shell across Linux servers, embedded systems, and CI/CD runners. Competes with zsh, dash, and fish for scripting and interactive use; its advantage is ubiquity and decades of accumulated documentation and scripts.
Key features:
Common applications: system administration, deployment scripts, build automation, and CI/CD pipelines. Developers use it for one-off commands, glue scripts between tools, and as the lingua franca of DevOps. Integrates with make, cron, Dockerfiles, and virtually every Unix tool. Shell scripting remains essential for server provisioning, backup jobs, and local development automation.