L'histoire du shell

A l'époque où Dennis Ritchie et Ken Thompson, qui travaillaient alors pour AT & T, ont développé UNIXTM, leur intention était de créer une façon pour que les utilisateurs puissent interagir avec leur nouveau système.

Les systèmes d'exploitation étaient alors dotés d'interpréteurs de commandes qui pouvaient recevoir des commandes des utilisateurs et les interpréter de façon à ce que l'ordinateur les utilise.

Ritchie et Thompson voulaient cependant aller plus loin et mettre au point un système offrant des fonctions plus performantes que celles des interpréteurs de commandes de l'époque. C'est alors qu'apparaît le shell Bourne (simplement appelé sh), créé par S.R. Bourne. Depuis la création du shell Bourne, d'autres shells ont vu le jour, comme le shell C (csh) et le shell Korn (ksh).

Lorsque la Free Software Foundation s'est mise en quête d'un shell gratuit, des développeurs ont entrepris de travailler sur le langage du shell Bourne ainsi que sur certaines fonctions très utilisées offertes par d'autres shells disponibles à l'époque.

Le résultat a été le Bourne Again Shell, également appelé bash.

D'ailleurs, vous avez probablement déjà vu le mot bash à l'invite du shell lorsque vous entrez une commande incorrectement (comme dans bash: nom-de-la-commande: command not found).

TuyauInformations supplémentaires sur bash
 

Pour plus d'informations sur le shell bash, consultez la page de manuel bash. A l'invite du shell, entrez man bash (ou enregistrez le fichier comme fichier texte en entrant man bash | col -b > bash.txt ; vous pourrez ensuite l'ouvrir dans un éditeur de texte tel que pico ou un pager tel que less. Vous pouvez également imprimer le fichier en entrant man bash | col -b | lpr, mais attention, ce fichier est volumineux. Si vous souhaitez obtenir plus de détails, O'Reilly & Associates ont édité un ouvrage intitulé Learning the bash Shell, par Cameron Newham et Bill Rosenblatt.

Bien que votre système comporte plusieurs shells différents, bash est le shell par défaut pour Red Hat Linux.