, ,

Interpréteur de lignes de commandes (Shell)

Une session de terminal ayant pour shell Bash

En informatique, le terme shell désigne un logiciel fournissant une interface à l'utilisateur pour des composantes d'un ensemble informatique plus grand. Bien qu'il puisse aussi désigner une interface graphique1), shell est plus généralement employé pour désigner un interpréteur de lignes de commandes pouvant accéder aux services et interagir avec le noyau d'un système d'exploitation. Dans le cas d'Ubuntu, un shell interagit avec le noyau Linux.

Le rôle de l'interpréteur de lignes de commandes est de traiter une ligne de commande, comprendre son contenu et exécuter la tâche associée. Le shell est intimement lié avec la notion de terminal, qui est une interface en mode texte dans lequel des lignes de commandes peuvent être saisies. Une fois une ligne de commande écrite dans un terminal, celui-ci l'envoie à l'interpréteur de lignes de commandes, qui la décortique et l'exécute.

Il existe de nombreux interpréteurs de lignes de commandes, qui fonctionnent tous plus ou moins pareillement. Par défaut, le shell associé à un compte d'utilisateur dans Ubuntu est Bourne-Again Shell (Bash) ; toutes les commandes saisies par un utilisateur dans un émulateur de terminal sont traitées par Bash. Ubuntu inclut aussi l'interpréteur Bourne Shell (sh) pour qui en a besoin ou souhaiterait l'utiliser par défaut. D'autres shells, comme Z Shell (zsh) ou C-Shell (csh), peuvent être installés facilement à l'aide de son gestionnaire de paquets.


1)
Par exemple, certains expliquent qu'un navigateur web est un shell pour un moteur de rendu HTML ; Firefox, par exemple, est un shell pour le moteur Gecko.