Shell en informatique : définition simple, rôle et exemples

Le shell est essentiel pour lancer des programmes informatiques. Méconnu par la plupart des utilisateurs, voici toutes les informations nécessaires sur le shell et le script shell.

Qu'est-ce qu'un shell en informatique ?

Le shell (ou interface système en français) est un programme qui reçoit des commandes informatiques données par un utilisateur à partir de son clavier pour les envoyer au système d’exploitation qui se chargera de les exécuter.

Aux débuts de l’informatique, le shell était la seule interface utilisateur disponible sur un système de type Unix tel que Linux. De nos jours et avec l’arrivée de la souris, tous les ordinateurs utilisent des interfaces utilisateur graphiques (GUI, pour « graphical user interface ») comme macOS ou Windows 10, en plus des interfaces de ligne de commande (CLI, pour « command line interface »), comme le shell.

Le mot « shell » est employé ici comme une métaphore. Shell signifie enveloppe ou coque en français : à l’inverse du noyau d’un ordinateur, le shell désigne la couche la plus haute de toutes les interfaces des systèmes Unix (Linux, macOS).

À quoi sert un script shell ?

Sur la plupart des systèmes Linux, un programme appelé bash (qui signifie Bourne Again SHell, version améliorée du programme shell Unix d'origine, sh, écrit par Steve Bourne) agit en tant que programme shell. Sur macOS, le shell est accessible par l’application Terminal. Un terminal est un programme qui permet à l’utilisateur d'interagir avec le shell. Plusieurs émulateurs de terminal existent sur Linux, comme gnome-terminal, konsole, xterm, rxvt, kvt, nxterm et eterm.

Tous les shell peuvent exécuter des commandes situées dans un fichier. Chaque fichier contenant des commandes destinées au shell se nomme un script (un programme écrit dans le langage propre au shell). Un script shell ressemble à un fichier texte simple exécutable par la machine mais qui doit être interprété par l’émulateur de terminal. Ce dernier a principalement pour objectif de lancer et de coordonner l'exécution de programmes sans passer par l’interface graphique (GUI Script). Un script shell peut également avoir d’autres utilisations : il peut être une méthode d’automatisation avec Python ou encore générer des pages dynamiques en PHP ou JSP.

Quelques exemples de script shell

De nombreux shell existent, le plus connu étant « sh », le « Bourne Shell ». Le deuxième est le « bash » pour « Bourne Again Shell », une version améliorée du premier, disponible et installé par défaut sur les systèmes d’exploitation macOS et Linux. « ksh », le « Korn Shell » est un autre exemple de shell, plus puissant et compatible avec bash. D’autres sont également notables comme « csh », « tcsh » ou « zch ».

Voici un exemple de script shell (en shell « sh ») pour afficher « Hello World » sur un fichier texte préalablement nommé testscriptshell.sh :

#!/bin/sh
echo "Hello World »

La commande « chmod » permettra de rendre le script shell exécutable par l’ordinateur :

chmod +x testscriptshell.sh

Que sont les « shell » les plus reconnus en informatique ?

Les shell les plus connus sont sh, bash et ksh.

Que signifie « shell » ?

« Shell » signifie interface système (ou coque logicielle) en français.

Exemple :
Nous avons fait en sorte que le shell soit le plus épuré possible pour se concentrer sur l'essentiel.

We made sure the shell was as uncluttered as possible, so we could focus on the essential points.

Autour du même sujet