Bash is a free software Unix shell and command language. It has become the default login shell for most Linux distributions. In addition to being available on Linux systems, a version of Bash is also available for Windows through the Windows Subsystem for Linux. Bash is the default user shell in Solaris 11 and was the default shell in Apple macOS from version 10.3 until the release of macOS Catalina, which changed the default shell to zsh. Despite this change, Bash remains available as an alternative shell on macOS systems.
As a command processor, Bash allows users to enter commands in a text window that are then executed by the system. Bash can also read and execute commands from a file, known as a shell script. It supports a number of features commonly found in Unix shells, including wildcard matching, piping, here documents, command substitution, variables, and control structures for condition testing and iteration. Bash is compliant with the POSIX shell standards.