6 Shells Linux Alternatifs pour Utilisateurs Avancés

Bash, ou le Bourne Again Shell, est ce qui est préinstallé sur la plupart des distributions Linux. Cependant, ce n’est pas le seul shell disponible. Il y en a plusieurs autres à essayer. Voici six shells alternatifs qui peuvent remplacer bash. Chacun d’eux a ses avantages et ses inconvénients, donc vous devez les essayer et voir lequel est le meilleur pour vous.
Table des Matières
- sh (ou le Bourne Shell)
- Dash
- csh (ou C Shell)
- ksh (ou Korn Shell)
- zsh (ou Z Shell)
- Fish
Astuce : Marre d’utiliser Bash ? Apprenez à changer votre shell par défaut sous Linux.
1. sh (ou le Bourne Shell)
Le Bourne shell, nommé d’après son créateur Stephen Bourne, était l’un des premiers shells jamais créés. On pourrait dire qu’il a été utilisé comme base sur laquelle Bash est construit. Parfois, les utilisateurs confondent les deux et pensent qu’ils sont identiques alors qu’ils ne le sont pas. Il est vrai que de nombreux scripts .sh fonctionneront également sur Bash, car Bash inclut beaucoup de Sh, mais l’inverse n’est pas vrai.

Vous pouvez considérer Sh comme le prédécesseur de Bash. Il n’a pas autant de fonctionnalités, mais il est plus standardisé que Bash.
2. Dash
Dash est essentiellement Bash sur les systèmes Debian. Si vous utilisez une distribution basée sur Debian, il y a de fortes chances que vous utilisiez Dash, pas Bash. Cependant, en raison des complexités d’utilisation de Dash comme shell par défaut, Ubuntu (une distribution basée sur Debian) a décidé d’utiliser Bash pour les scripts interactifs, et non Dash comme shell par défaut.

Dash manque de nombreuses fonctionnalités de Bash, telles que l’achèvement par tabulation et l’historique des commandes, mais il est plus rapide et beaucoup plus léger (100K contre 900K), ce qui est un facteur si vous l’exécutez sur un ordinateur peu puissant.
À lire aussi : Comment utiliser Sed sous Linux
3. csh (ou C Shell)
Les langages de programmation C et C++ étaient assez populaires, et de grandes parties de Linux lui-même sont écrites dans ces langages. C’est pourquoi il n’est pas surprenant qu’il existe un shell – le C Shell ou Csh – qui utilise le modèle de syntaxe C. Si vous êtes à l’aise avec C, ce shell vous sera naturel.

Cependant, le shell Csh avait pas mal de bugs et peu de fonctionnalités. C’est pourquoi le shell Tcsh est arrivé sur la scène. Tcsh a corrigé la plupart des bugs et ajouté de nouvelles fonctionnalités, telles que l’achèvement des commandes, le contrôle des tâches, la correction orthographique, etc. Malheureusement, Tcsh et Bash sont très différents, ce qui signifie que vous ne pouvez pas exécuter des scripts Bash dans Tcsh et vice versa.
À lire aussi : Qu’est-ce que Log4Shell et comment protéger votre système Linux contre cela
4. ksh (ou Korn Shell)
Ksh, ou le Korn shell (nommé d’après son créateur David Korn), a été introduit à peu près au même moment que Tcsh, mais contrairement à Tcsh, il est compatible avec Sh et Bash. C’était un shell propriétaire d’AT&T jusqu’en 2000, et c’est pourquoi il n’est pas devenu si populaire. Ksh ajoute plus de fonctionnalités à Sh, telles que l’arithmétique à virgule flottante, le contrôle des tâches, l’aliasing des commandes et l’achèvement des commandes.

5. zsh (ou Z Shell)
Les shells listés jusqu’à présent ont été créés principalement dans les années 1970. Les ordinateurs ont beaucoup évolué depuis, et cela nécessite également de nouveaux shells. L’un des nouveaux shells populaires est le Z shell, ou Zsh. Il a été créé par Paul Falstad en 1990.

Il a les fonctionnalités de Bash et quelques autres, telles que des fichiers de démarrage, la surveillance des connexions/déconnexions, et des fonctionnalités de programmation intégrées comme le bytecode, le support de la notation scientifique dans la syntaxe, l’arithmétique à virgule flottante, les commentaires fermants, les concepts, les variables, les fonctions et les index de clés. Si vous recherchez un shell plus avancé, essayez le Z shell.
6. Fish
La quête de shells plus modernes ne s’est pas arrêtée avec Fish. Le nouveau siècle a vu l’émergence de nouveaux shells, tels que Fish (ou Friendly Interactive Shell). Il a été publié en 2005 et n’est pas basé sur le shell Sh. Son aspect le plus distinctif est qu’il a une syntaxe de ligne de commande unique conçue pour être plus conviviale pour les débutants. Il a également des fonctionnalités intéressantes, telles que des suggestions automatiques, la sélection avec les touches fléchées, le support du presse-papiers X, 256 couleurs de terminal, etc.

Le principal inconvénient de Fish est qu’il est très différent de Bash et d’autres shells basés sur Bourne. En conséquence, vous ne pouvez pas porter du code (et des connaissances) de Fish à Bash et Sh.
Alors, quel shell est le meilleur ? Malheureusement, cette question ne peut pas être répondue. Tous ont leurs avantages et leurs inconvénients, et cela dépend vraiment de ce dont vous avez besoin. Mais maintenant que vous connaissez les avantages et les inconvénients de chacun de ces six shells alternatifs, il vous sera plus facile de décider dans quelle situation utiliser quel shell. Bien que, après tout, honnêtement parlant, ce choix est en grande partie une question de préférences personnelles – je reste moi-même sur Bash, et cela me convient. Bash est le shell par défaut pour une raison, vous savez !