Bash (acronyme de Bourne-Again shell) est un interpréteur en ligne de commande de type script. C'est le shell Unix du projet GNU.
Fondé sur le Bourne shell, Bash lui apporte de nombreuses améliorations, provenant notamment du Korn shell et du C shell. Bash est un logiciel libre publié sous licence publique générale GNU. Il est l'interprète par défaut sur de nombreux Unix libres, notamment sur les systèmes GNU/Linux. C'était aussi le shell par défaut de Mac OS X, remplacé avec macOS Catalina (10.15) par zsh. Il a été d'abord porté sous Microsoft Windows par le projet Cygwin, et depuis Windows 10 constitue une option à part entière du système d'exploitation, nommée Windows Subsystem for Linux.
« Bourne again » est un jeu de mots sur le Bourne shell. Littéralement, Bourne again signifie « Bourne encore », mais se prononce également presque comme born again, signifiant « né de nouveau » ou encore « réincarné ». Également, to bash signifie « frapper violemment » en anglais.
Brian Fox, a publié en 1988 la première implémentation de Bash pour le compte de la Free Software Foundation. Il a été relayé plus tard par Chet Ramey. Le Bourne shell originel, dont s'inspire Bash, fut écrit par Stephen Bourne en 1977. La version 3.0 date de , et la version 4.0 de .
Le , une faille de sécurité majeure est rendue publique, permettant le piratage du Bash via des scripts CGI. Ses utilisateurs sont alors invités à le patcher pour s'en prémunir.
Comme tous les interpréteurs en ligne de commande de type script, Bash exécute quatre opérations fondamentales :
Il fournit une liste de commandes permettant d'opérer sur l'ordinateur (lancement de programmes, copie de fichiers, etc.) ;
Il permet de regrouper ces commandes dans un fichier unique appelé script ;
Il vérifie la ligne de commande lors de son exécution ou lors d'une éventuelle procédure de vérification et renvoie un message d'erreur en cas d'erreur de syntaxe ;
En cas de validation, chaque ligne de commande est interprétée, c'est-à-dire traduite dans un langage compréhensible par le système d'exploitation, qui l'exécute alors.