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 :

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  !

La suite …