Bash

GNU Bash (Bourne Again SHell) is maintained by Chet Ramey at Case Western Reserve University under the GNU Project; current stable release is 5.3, shipped July 5, 2025, licensed GPLv3+. It's the default shell on nearly every Linux distribution and the base shell in most Docker images. Bare Bash starts in under 50ms, versus roughly 500-1,000ms for Zsh loaded with Oh My Zsh plugins. Bash is POSIX-compatible β€” a superset of the POSIX shell spec with extensions enabled by default (arrays, [[ ]] tests, process substitution) and a --posix mode for stricter conformance β€” which is why CI/CD pipelines and Dockerfiles standardize on it over Fish (not POSIX-compatible at all). macOS still ships an ancient Bash 3.2 (2007) because Apple won't distribute GPLv3 code β€” it made Zsh the default interactive shell in Catalina (2019) instead. Community framework Oh My Zsh holds ~189k GitHub stars versus Bash's own Bash-it at ~15k. Current version/status: 5.3 (July 5, 2025). License: GPLv3+. Maintained by Chet Ramey / GNU Project (Case Western Reserve University).

Also known as: Bourne Again SHell, bash shell, Bash scripting, shell script, Unix shell
🧊Why learn Bash?

Pick Bash when scripts must run unmodified across Linux servers, Docker containers, and CI pipelines β€” its POSIX compatibility and near-universal preinstallation are non-negotiable there. Don't pick it as your interactive daily driver if you want speed and ergonomics with zero setup: Fish 4.0 (Rust rewrite, Feb 2025) gives sub-100ms startup and sane autosuggestions/completions out of the box, no plugin framework required. Zsh with Oh My Zsh is the middle ground if you'll eat a 500ms+ startup tax for 300+ plugins. Honest weakness even Bash veterans admit: its scripting syntax is notoriously unforgiving β€” unquoted variables and word-splitting break scripts silently, which is why shellcheck is treated as mandatory, not optional, in serious codebases. Known weakness: Bash's scripting syntax is notoriously error-prone β€” unquoted variables, word-splitting, and inconsistent array handling cause silent bugs, which is why shellcheck linting is treated as near-mandatory in production scripts.

See how it ranks β†’

Compare Bash

Learning Resources

Related Tools

Alternatives to Bash

Other Scripting Languages

View all β†’
8051 Assembly
8051 Assembly is a low-level programming language used to write code for the Intel 8051 microcontroller and its derivatives, which are widely used in embedded systems. It provides direct control over hardware resources like registers, memory, and I/O ports, enabling efficient and time-critical operations. This language is essential for developing firmware in applications such as automotive electronics, industrial automation, and consumer devices.
ABAP
ABAP (Advanced Business Application Programming) is a high-level programming language created by SAP for developing business applications within the SAP ecosystem. It is primarily used for customizing and extending SAP ERP (Enterprise Resource Planning) systems, enabling developers to build reports, interfaces, forms, and workflows. ABAP runs on the SAP NetWeaver Application Server and integrates tightly with SAP's database and business logic layers.
ActionScript
ActionScript is an object-oriented programming language originally developed by Macromedia (now Adobe) for creating interactive content, animations, and applications primarily for Adobe Flash and Adobe AIR platforms. It is based on ECMAScript, sharing syntax similarities with JavaScript, and was widely used for web-based games, multimedia presentations, and rich internet applications (RIAs).
ActionScript
ActionScript is an object-oriented programming language originally developed by Macromedia (later acquired by Adobe) for creating interactive content, animations, and applications primarily for the Adobe Flash platform. It is based on ECMAScript, sharing syntax similarities with JavaScript, and was widely used for web-based games, multimedia presentations, and rich internet applications (RIAs). While its usage has declined with the deprecation of Flash, it remains relevant for maintaining legacy Flash content and in niche areas like Adobe AIR for desktop and mobile apps.
ActionScript 3
ActionScript 3 (AS3) is an object-oriented programming language primarily used for developing rich internet applications, games, and animations on the Adobe Flash Platform. It is based on ECMAScript (the same standard as JavaScript) and provides enhanced performance, a more robust class-based inheritance system, and better support for large-scale applications compared to its predecessor, ActionScript 2. AS3 is compiled to bytecode that runs in the Adobe Flash Player or Adobe AIR runtime environments.
Ada
Ada is a high-level, statically typed, object-oriented programming language designed for large-scale, long-lived, and safety-critical systems, particularly in aerospace, defense, and transportation industries. It emphasizes reliability, maintainability, and efficiency, with built-in support for concurrency, real-time processing, and strong type checking to prevent runtime errors. Originally developed for the U.S. Department of Defense, it is standardized by ISO and ANSI, with Ada 2012 and Ada 2022 being the latest revisions.