T.D. Shell Scripts Unix
Travaux dirigés Shell Scripts Unix
UPVD – Licence Pro AdmiSys 2015-2016
I – Le Shell :
Coque ou coquille en anglais, le shell désigne en fait l’interface entre l’opérateur (humain) et l’espace utilisateur du système d’exploitation faisant lui même appel aux fonctionnalités du noyau (kernel, dans la langue d’Albion) pour réaliser les opérations touchant au matériel (E/S, allocations mémoire, etc…) ; il est également désigné en français sous le terme interpréteur de commandes.
Historiquement, il s’agit donc d’un programme interactif en mode texte, destiné à saisir des commandes et afficher leur résultat depuis une console série (dont les plus connues étaient commercialisés par la firme DEC qui a d’ailleurs affirmé ses protocole comme autant de standards de fait – VT52, VT100- ainsi que ceux de la firme Wyse).
Dès son apparition, le système Unix originel d’AT&T, fournissait donc son interpréteur de commandes historique : sh, Bourne Shell écrit par Steve Bourne.
Comme de coutume, ce programme a fait l’objet d’améliorations ou de ré-écritures, résultant en un certain nombre de dérivés dont :
- bash, pour Bourne Again Shell qui est probablement actuellement le plus utilisé.
- csh, le C-Shell écrit par Billy Joyce pour BSD.
- ksh, Korn Shell, écrit par David Korn est paru en 1983 et a connu 2 révisions majeures en 1988 et 1993.
- zsh, l’une des plus récentes réécritures en 1990, par Paul Falstad.
Bien que répondant généralement à une norme (la norme POSIX 1003.2 « Shell and Utilities Language Committee »), ces différents shells ont leur propre dialecte ou extensions les rendant généralement incompatibles entre eux.
A noter que la notion de shell n’est pas propre à Unix ; il suffit de se rappeler du command.com historique de MS/Dos (lui-même dérivé de CP/M) et de ses actuels rejetons cmd.exe ou Microsoft PowerShell ; et même de la version Sksh (Korn-shell) dédiée à l’AmigaOS …
Et, au final, les interfaces graphiques modernes (X11R6, Xorg, Microsoft Windows) ne sont finalement des shells plus évolués, permettant le multi-fenêtrage, et ouvrant la voie à la clic-mania !