La shell est l’interpréteur de commandes dans un système d’exploitation tel que Unix ou GNU/Linux, c’est un programme qui exécute d’autres programmes. Elle fournit à l’utilisateur de l’ordinateur une interface vers le système Unix/GNU Linux afin que l’utilisateur puisse exécuter différentes commandes ou utilitaires/outils avec des données d’entrée.
Lorsque la shell a terminé l’exécution d’un programme, elle envoie une sortie à l’utilisateur sur l’écran, qui est le périphérique de sortie standard. Pour cette raison, on l’appelle l’“interpréteur de commandes”.
La shell est bien plus qu’un simple interpréteur de commandes, c’est aussi un langage de programmation à part entière avec des constructions de langage de programmation complètes telles que l’exécution conditionnelle, boucles, variables, fonctions et bien d’autres.
C’est pourquoi la shell Unix/GNU Linux est plus puissante par rapport à la shell Windows.
Dans cet article, nous examinerons certaines des shells open-source les plus utilisées sur Unix/GNU Linux.
1. Shell Bash
Le Shell Bash, ou simplement “Bash“, signifie “Bourne Again SHell“. Il s’agit d’une amélioration du shell Bourne original (Bourne Shell – sh) et a été introduit en 1989 par Brian Fox.
Au fil des ans, Bash est devenu l’un des interprètes de commandes les plus populaires et les plus utilisés sur de nombreuses distributions Linux et macOS (jusqu’à Catalina, après quoi il a été remplacé par zsh).
Bash permet aux utilisateurs d’exécuter des commandes, de naviguer dans le système de fichiers et d’exécuter des scripts. Les utilisateurs peuvent exploiter des fonctionnalités telles que l’historique des commandes, la complétion de tabulation et les capacités de script pour automatiser les tâches et rationaliser les workflows.
Le Shell Bash a joué un rôle clé dans l’évolution de l’informatique open-source, offrant une interface cohérente pour que les utilisateurs interagissent avec leurs systèmes.

2. Shell Tcsh/Csh
Le Tcsh (prononcé “tee-shell“) et Csh (prononcé “see-shell“) sont des shells de ligne de commande basés sur Unix qui existent depuis des décennies. Csh, ou le C shell, a été développé par Bill Joy à la fin des années 1970 à l’Université de Californie, Berkeley.
Il a introduit plusieurs fonctionnalités et syntaxe de script inspirées du langage de programmation C, ce qui en a fait un langage populaire parmi les programmeurs familiers avec C.
Tcsh est une version améliorée de l’original Csh, qui signifie « Shell C Tenex », avec « Tenex » faisant référence au système d’exploitation TENEX.
Tcsh intègre toutes les fonctionnalités de Csh avec des améliorations supplémentaires, telles que la modification de la ligne de commande, la gestion des tâches et la complétion des commandes.
Les deux shells ont été influents dans le monde Unix, avec de nombreux utilisateurs appréciant leur syntaxe de script unique et leurs fonctionnalités. Cependant, au fil du temps, d’autres shells comme bash ont gagné en popularité en raison de leurs fonctionnalités étendues et de leur adoption généralisée.
Néanmoins, Tcsh et Csh restent une partie intégrante de l’histoire des shells Unix.

3. Shell Ksh
Le KornShell, communément appelé ksh, est un shell Unix qui a été développé par David G. Korn chez AT&T Bell Laboratories au début des années 1980.
Il combine des fonctionnalités provenant à la fois du shell C (csh) et du shell Bourne (sh), cherchant à offrir le meilleur des deux mondes. Au fil des ans, ksh a été loué pour ses capacités de script avancées, ce qui en fait un favori parmi de nombreux administrateurs systèmes et utilisateurs expérimentés.
L’une des caractéristiques saillantes de ksh est son tableau associatif, une fonctionnalité qui n’était pas courante dans les shells de son époque. Il a également introduit la construction select, qui rend la génération de menus dans les scripts simple.
Un autre avantage significatif est sa capacité d’édition de ligne de commande et de capacités d’historique, qui ont ensuite été adoptées par d’autres shells comme bash.

4. Shell Zsh
Le shell Zsh, souvent simplement appelé » Zsh « , est un puissant shell Unix qui a gagné une popularité remarquable parmi les programmeurs et les administrateurs système.
Né comme une extension du Bourne Shell, Zsh intègre des fonctionnalités provenant d’autres shells comme Bash, ksh, et tcsh, offrant un ensemble riche de fonctionnalités et une utilisation interactive améliorée.
L’une des caractéristiques saillantes de Zsh est sa capacité de complétion automatique robuste. Contrairement à d’autres shells, la complétion automatique de Zsh est contexte-sensible, suggérant des commandes pertinentes, des chemins de fichiers, et même des branches Git, rendant l’expérience utilisateur plus fluide et plus intuitive.
De plus, Zsh est hautement personnalisable à l’aide du cadriciel Oh My Zsh, les utilisateurs peuvent facilement appliquer des thèmes et des plugins, améliorant à la fois les aspects esthétiques et fonctionnels de leur environnement de terminal.

5. Fish
Fish Shell est un shell de ligne de commande moderne et convivial qui vise à fournir une interface interactive et intuitive pour les utilisateurs.
Contrairement aux shells traditionnels comme Bash ou Zsh, Fish offre des suggestions intelligentes dès le départ, ce qui facilite la navigation et l’exécution de commandes pour les débutants et les utilisateurs expérimentés.
L’une des fonctionnalités saillantes de Fish est ses suggestions automatiques, qui fournissent un retour en temps réel basé sur votre historique de commandes, permettant une exécution plus rapide des commandes.
Fish possède également une interface colorée et vivante, avec un surlignage de syntaxe qui facilite la lecture et la compréhension des commandes. Son configuration basée sur le web permet aux utilisateurs de personnaliser leur expérience de shell sans plonger dans des fichiers de configuration complexes.
De plus, Fish dispose d’une vaste collection de plugins et de thèmes contribués par la communauté, qui améliorent sa fonctionnalité et son apparence.

Résumé
Ce ne sont pas les seules shells disponibles dans Unix/GNU Linux, mais elles font partie des plus couramment utilisées, en dehors de celles préinstallées dans diverses distributions Linux.
I hope you find this article useful. For any additional information, please don’t hesitate to post a comment.
Source:
https://www.tecmint.com/different-types-of-linux-shells/