Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Comment changer de shell sous Linux ou macOS ?

Allez, on est des fous, aujourd’hui je vais vous expliquer comment changer de shell par défaut sous macOS ou Linux. Si vous êtes sous Windows 10, je vous invite à consulter cet article où je vous explique comment installer et utiliser un shell informatique et son langage sous Windows 10.

Mais avant de rentrer dans le dur, je vous explique. Un shell est un programme qui fait office d’interface entre vous et l’ordinateur sous la forme d’un interpréteur de commandes. En gros, c’est ce que vous voyez quand vous lancez un terminal.

Il en existe plusieurs comme :

  • Almquist shell (ash) : écrit en remplacement du Bourne Shell, sous licence BSD ; souvent utilisé dans des environnements aux ressources limitées. Les sh de FreeBSD, NetBSD (et leurs dérivés) sont basés sur des cendres qui ont été améliorées pour être conformes à POSIX.
  • Bourne Shell (sh) : Le shell Bourne était le shell par défaut de la version 7 d’Unix. De nombreux systèmes de type Unix continuent à avoir /bin/sh – qui est l’interpréteur de commandes Bourne, ou un lien (symbolique ou en dur) vers un interpréteur de commandes compatible.
  • Bourne-Again shell (bash) : écrit dans le cadre du projet GNU pour fournir un sur-ensemble de fonctionnalités du Bourne Shell. Ce shell est souvent pré-installé et est le shell interactif par défaut pour les utilisateurs sur la plupart des systèmes Linux et macOS.
  • C shell (csh) : Shell Unix créée par Bill Joy alors qu’il était étudiant à l’Université de Californie, Berkeley, à la fin des années 1970. Il a été largement distribué, à commencer par la version 2BSD de la Berkeley Software Distribution (BSD) pour la première fois en 1978.
  • Debian Almquist shell (dash) : un remplacement moderne du shell ash dans Debian et Ubuntu
  • Korn shell (ksh) : écrit par David Korn à partir des sources du shell Bourne alors qu’il travaillait aux Bell Labs
  • Public domain Korn shell (pdksh) : Shell Unix qui a été développé par David Korn aux Bell Labs au début des années 1980 et annoncé sur USENIX le 14 juillet 1983. Le développement initial était basé sur le code source du shell Bourne.
  • MirBSD Korn shell (mksh): un descendant du ksh d’OpenBSD et de pdksh, développé dans le cadre de MirOS BSD
  • TENEX Shell (tcsh): Shell Unix basé sur et compatible avec csh. Il s’agit essentiellement d’un interpréteur de commandes C avec une complétion en ligne de commande programmable, une édition en ligne de commande et quelques autres fonctionnalités. Il s’agit de l’interpréteur de commandes racine natif pour les systèmes basés sur BSD comme FreeBSD.
  • Z shell (zsh): une coquille relativement moderne qui est rétrocompatible avec le bash. C’est le shell par défaut dans macOS depuis la version 10.15 de Catalina.
  • Busybox: Je vous le mets aussi même si c’est pas un shell à proprement dit mais plutôt un ensemble d’utilitaires Unix pour les petits systèmes et les systèmes embarqués, qui comprend 2 shells : ash, un dérivé du shell Almquist ; et hush, une implémentation indépendante d’un shell Bourne.

Et évidemment, chaque barbu qui se respecte a ses préférences (ou reste sur le shell par défaut de son OS). Par exemple, sous macOS, c’est zsh et sous Ubuntu si je ne dis pas de bêtises, c’est bash.

Alors, comment faire pour en changer si besoin ? Et bien vous allez voir, c’est super facile.

Ouvrez d’abord un terminal et entrez la commande suivante pour déterminer sur quel shell vous êtes actuellement :

ps -p $$
Terminal avec prompt de commande Linux affichant le chemin d'accès actuel du répertoire

Ensuite, consultez la liste des shells déjà installés sur votre système d’exploitation avec la commande :

cat /etc/shells
Capture d'écran de la fenêtre de terminal macOS avec le thème par défaut

Comme vous pouvez le voir, j’en ai une flopée.

Pour en changer, rien de plus simple. Entrez la commande suivante en la faisant pointer vers le chemin complet du shell sur lequel vous voulez passer. Par exemple, si je veux basculer de zsh (qui est mon shell par défaut) à bash, je tape :

chsh -s /bin/bash

Ensuite, vous pouvez fermer le terminal et le relancer et voilà !

Icône de changement de shell Linux représentant un coquillage avec une flèche pointant vers la droite

Vous retrouverez aussi ce tuto en vidéo ici :


Les articles du moment