Linux

Comment passer de bash à Korn shell sous Linux ?

Changer de shell : de Bash à Korn Shell sous Linux

Changer votre shell sous Linux peut améliorer votre expérience de ligne de commande, surtout si vous êtes attiré par les fonctionnalités avancées de Korn Shell (ksh). C’est une excellente option pour ceux qui souhaitent bénéficier de la puissance de ksh tout en utilisant des scripts compatibles avec Bash.

Méthodes pour changer de shell

Il existe plusieurs façons de changer votre shell par défaut sous Linux. Voici les méthodes les plus courantes que vous pouvez utiliser :

  1. Utilisation de la commande chsh : Cette commande vous permet de changer facilement votre shell par défaut. Elle modifie le fichier de configuration de votre compte d’utilisateur.
  2. Modification directe avec usermod : Cet utilitaire permet d’apporter des modifications aux comptes d’utilisateur, y compris le shell de connexion.
  3. Édition du fichier /etc/passwd : Bien que moins recommandée en raison de la complexité et du risque d’erreurs, cette méthode consiste à modifier votre shell directement dans le fichier où sont stockées les informations des utilisateurs.

Comment passer de Bash à Korn Shell sous Linux ?

Pour effectuer ce changement, suivez ces étapes :

  1. Ouvrir un terminal : Lancez l’application terminal sur votre distribution Linux.
  2. Vérifier la disponibilité de Korn Shell : Avant de changer, assurez-vous que ksh est installé sur votre système en exécutant la commande which ksh. Si vous ne voyez pas de chemin retourné, vous devez l’installer via votre gestionnaire de paquets, par exemple : sudo apt install ksh.
  3. Changer le shell à l’aide de chsh : Utilisez la commande suivante pour modifier votre shell : chsh -s /bin/ksh. Il vous sera demandé d’entrer votre mot de passe pour valider cette action.
  4. Se déconnecter et se reconnecter : Pour que le changement prenne effet, déconnectez-vous de votre session ou redémarrez votre ordinateur.
  5. Vérifier le changement : Une fois connecté, vous pouvez confirmer le changement de shell avec la commande echo $SHELL. Cela devrait retourner /bin/ksh.

Utilisation de usermod pour changer de shell

Une autre méthode efficace consiste à utiliser usermod. Voici comment procéder :

  1. Ouvrir un terminal en tant que superutilisateur : Vous aurez besoin de privilèges d’administrateur pour effectuer cette modification.
  2. Exécuter la commande usermod : Tapez la commande suivante pour changer le shell : sudo usermod -s /bin/ksh votre_nom_utilisateur, en remplaçant votre_nom_utilisateur par votre nom d’utilisateur actuel.
  3. Se déconnecter et se reconnecter : Comme avec la méthode précédente, vous devez vous déconnecter pour voir le changement en vigueur.
A lire :  En quelle année Linux a-t-il commencé ?

Vérification de votre shell actuel

Il est important de s’assurer que le changement a été effectué correctement. Pour cela, une simple commande suffit :

  1. Ouvrez un terminal.
  2. Exécutez echo $SHELL. Cela affichera le chemin du shell actuellement en cours d’utilisation.
  3. Pour répertorier tous les shells disponibles, utilisez la commande cat /etc/shells.

Questions fréquentes (FAQ)

1. Quelles sont les différences majeures entre Bash et Korn Shell ?

Bash est souvent utilisé par défaut sur de nombreuses distributions Linux, tandis que Korn Shell offre des fonctionnalités avancées telles que la complétion de commandes améliorée, la gestion des historiques de commandes plus développée, et des capacités de script plus robustes.

2. Est-ce que je peux revenir à Bash après être passé à ksh ?

Oui, vous pouvez facilement revenir à Bash en utilisant la même méthode que celle décrite précédemment en exécutant chsh -s /bin/bash ou en modifiant le shell via usermod.

3. Quels sont les avantages d’utiliser Korn Shell ?

Korn Shell propose de nombreuses fonctionnalités synergiques avec celles de Bash tout en offrant des améliorations comme la gestion des tâches en arrière-plan plus efficace, une meilleure gestion de l’écriture des scripts et des options de personnalisation avancées.