Qu'est-ce que Shell ?
Programme qui lit et interprète les commandes tapées par l'utilisateur, lance des programmes et affiche les résultats. Sous Linux, bash et zsh sont très utilisés. Il offre le développement des caractères génériques, des variables, les redirections et les pipes, ainsi que le contrôle des tâches, et il peut aussi exécuter des fichiers de commandes (scripts shell) pour automatiser le travail. Son nom (« coquille » en anglais) vient de son rôle d'enveloppe autour du noyau, le cœur du système d'exploitation, placée entre celui-ci et l'utilisateur.
Nom japonais: シェル
« Shell » apparaît dans 11 questions d'entraînement réparties sur 2 thèmes, dont Bases de Linux et de la ligne de commande, Éditeurs de liens, chargeurs et exécutables.
Domaine: Bases de Linux et de la ligne de commande
Différents shells
Outre bash, très utilisé sous Linux, il existe zsh et fish, riches en fonctions interactives, et dash, léger et rapide à démarrer. Les scripts écrits uniquement avec la syntaxe de sh définie par la norme POSIX fonctionnent dans de nombreux shells. Les scripts de configuration de l'environnement des outils EDA sont encore parfois écrits dans la syntaxe de la famille csh (csh, tcsh), et un fichier de réglages chargé avec source doit correspondre au type de shell.
Questions fréquentes
Quelle différence y a-t-il entre un shell et un terminal ?
Un terminal (émulateur de terminal) est un programme qui sert de fenêtre : il affiche des caractères et reçoit les saisies du clavier. Le shell s'exécute à l'intérieur, interprète comme des commandes les chaînes reçues et les exécute. On peut passer de bash à zsh dans le même terminal.
Quelle différence y a-t-il entre « source fichier » et « ./fichier » ?
Avec ./fichier, un nouveau processus shell exécute le script : les variables ou le répertoire courant modifiés à l'intérieur ne sont pas conservés dans le shell d'origine quand il se termine. source (ou .) exécute le contenu du fichier dans le shell courant, si bien que des réglages comme les variables d'environnement restent en place. C'est pourquoi les fichiers de réglages qui préparent l'environnement d'un outil se chargent avec source.