Comment passer de Bash à C Shell sous Linux



Le C Shell est un interpréteur de commandes pour systèmes Unix, se distinguant par sa syntaxe calquée sur le langage C++, plutôt que celle, plus courante, de Bash. Bien qu’il soit un shell plus ancien, il demeure apprécié des programmeurs dans l’univers Unix. Sous Linux, il est accessible via Tcsh, une version modifiée du shell C original, enrichie de nouvelles fonctionnalités et améliorations.

Si vous envisagez d’adopter le C Shell, suivez les indications ci-dessous pour migrer de Bash à C Shell sur votre système Linux.

Note : Si le C Shell ne vous convient pas, vous pouvez explorer d’autres options comme le Fish Shell, ou encore ZSH.

Installation du C Shell

Le C Shell offre une alternative intéressante à Bash. Cependant, il est possible qu’il ne soit pas installé par défaut sur votre ordinateur Linux. Heureusement, son installation est aisée sur la plupart des distributions.

Pour ce faire, ouvrez une fenêtre de terminal et suivez les instructions correspondant à votre distribution Linux.

Ubuntu

Le C Shell est disponible dans les dépôts logiciels principaux d’Ubuntu et peut être installé à l’aide de l’outil de gestion de paquets Apt.

sudo apt install tcsh

Debian

Bien que Debian soit parfois en retrait en matière de mises à jour de paquets, une version relativement récente du C Shell est disponible dans son dépôt principal. Vous pouvez l’installer via l’outil Apt-get.

sudo apt-get install tcsh

Arch Linux

Les utilisateurs d’Arch Linux apprécient d’explorer des alternatives à Bash. Ainsi, des options moins courantes comme le C Shell sont disponibles dans le dépôt par défaut de la distribution. Pour l’installer, utilisez Pacman.

sudo pacman -S tcsh

Fedora

Si vous souhaitez utiliser le C Shell sur votre système Fedora, vous devrez l’installer avec le gestionnaire de paquets Dnf, car il n’est pas inclus par défaut.

sudo dnf install tcsh

OpenSUSE

À l’instar d’autres distributions Linux populaires, OpenSUSE propose le C Shell comme alternative à Bash dans ses dépôts principaux. Pour l’installer, exécutez la commande Zypper suivante :

sudo zypper installer tcsh

Linux générique

Si vous utilisez une distribution Linux moins connue, et souhaitez utiliser le C Shell, recherchez « tcsh » ou « c shell » dans le gestionnaire de paquets de votre système. Vous devriez trouver ce paquet, même sur des systèmes moins répandus, car Tcsh existe depuis longtemps.

Localisation des shells

Avant de passer de Bash à C Shell, vous devez déterminer où se trouve le binaire Tcsh sur votre ordinateur. Cette information est essentielle pour que Linux puisse remplacer le shell par défaut de votre utilisateur.

Pour obtenir la liste des shells disponibles, consultez le fichier /etc/shells/. La méthode la plus efficace est d’utiliser la commande cat.

cat /etc/shells/

La commande cat affichera la liste des emplacements des différents shells installés. Cette liste peut être conséquente et prêter à confusion.

Note : Si vous ne souhaitez pas analyser le fichier pour trouver « Tcsh », combinez la commande cat avec grep pour filtrer les résultats.

cat /etc/shells | grep tcsh

Copiez l’emplacement du C Shell à partir du résultat de /etc/shells/, ou exportez-le dans un fichier texte pour une utilisation ultérieure.

cat /etc/shells | grep tcsh >> tcsh-location.txt

Migration de Bash vers C Shell

La commande chsh permet de configurer le shell par défaut. Attention, cette commande doit être exécutée sans les privilèges sudo ou root. L’exécution en tant que root pourrait modifier le shell par défaut pour l’utilisateur root au lieu de votre utilisateur.

Dans le terminal, utilisez la commande chsh pour passer de Bash (ou de tout autre shell utilisé) à Tcsh.

chsh

L’exécution de la commande chsh affichera le message « Entrez la nouvelle valeur ou appuyez sur ENTER pour la valeur par défaut ». À ce moment, vous devrez indiquer l’emplacement du C Shell pour le définir par défaut. Référez-vous à la sortie de /etc/shells/ pour renseigner l’emplacement dans l’invite.

Après avoir spécifié l’emplacement du C Shell, validez avec la touche Entrée et saisissez votre mot de passe. Répétez cette opération pour chaque utilisateur qui doit utiliser le C Shell.

Désactivation du C Shell

Si vous n’avez pas apprécié le C Shell, vous pouvez revenir en arrière en suivant ces étapes :

Étape 1 : Ouvrez un terminal et saisissez la commande change shell.

chsh

Étape 2 : Quand le système vous demande de « saisir une nouvelle valeur », indiquez /bin/bash/.

Étape 3 : Entrez votre mot de passe. Ensuite, fermez le terminal et redémarrez votre système. Au redémarrage, Bash sera de nouveau le shell par défaut.