|
|
Un shell est un interpréteur interactif ou non qui implémente la logique de contrôle de flot mais dépend essentiellement de l'exécution de commandes externes pour l'écriture de programmes substantiels.
Le Bourne-Shell est le shell originel de l'environnement Unix. Sa grande originalité était l'utilisation de tubes qui permettait de connecter la sortie d'une commande à l'entrée d'une autre. Cela permet d'écrire des commandes complexes à partir de commande simples.
D'autres langages de scripts tels que Perl, Python, Ruby remplacent progressivement les shells qui sont encore prédominants dans les environnements de démarrage de systèmes Unix. La disparition inévitable des disquettes comme média de démarrage qui impose des contraintes drastiques de place va peut-être sonner le glas des shells.
La dépendance des shells vis à vis de commandes externes rend les scripts peu portables même si les shells eux-mêmes ont été portés sur des environnements autres que leur environnement originel Unix.