Fatmawati Achmad Zaenuri / Shutterstock

Bash n’est pas le seul shell Linux. Il est facile d’essayer d’autres shells, comme Zsh, qui est très populaire. Lorsque vous en avez trouvé un, utilisez le chsh pour en faire votre shell par défaut. Nous allons vous montrer comment.

pagespeed.lazyLoadImages.overrideAttributeFunctions();tmntag.cmd.push(function(){tmntag.adTag(‘purch_N_C_0_1’, false);});

Pourquoi un shell est important

Le shell se trouve entre vous et le système d’exploitation. Il fournit l’environnement à l’intérieur d’une fenêtre de terminal qui vous permet de taper des commandes et d’exécuter des programmes. Le shell vérifie votre entrée et détermine ce que vous voulez. S’il peut exécuter lui-même vos enchères, il le fait. S’il a besoin d’aide extérieure, il recherche le chemin d’accès et trouve les programmes qui peuvent faire tout ce que vous avez demandé.

Il existe de nombreux shells différents disponibles sur Linux. Ils vous permettent tous d’exécuter les mêmes tâches principales: explorer le système de fichiers, travailler avec des fichiers, lancer des programmes et exécuter des scripts. Cependant, ils effectuent chacun ces tâches à leur manière et ont leurs propres particularités et particularités.

Les coques ont tendance à être conçues par des personnes qui souhaitent que les choses se comportent d’une manière spécifique. Si votre pensée s’aligne sur celle de ce créateur, cette coque pourrait bien vous convenir. De plus, essayer un nouveau shell sur Linux est facile.

Dans la plupart des distributions Linux, y compris Ubuntu, le shell par défaut est bash. Il fait un excellent travail et est très capable. Cependant, un autre shell pourrait offrir une différence de gain de temps qui aurait un impact important sur votre flux de travail. Vous ne saurez jamais si vous ne regardez pas!

EN RELATION: Qu’est-ce que ZSH et pourquoi devriez-vous l’utiliser au lieu de Bash?

Un seau de coquillages

Nous avons déjà couvert les différents shells Linux, mais voici une introduction rapide aux plus courants:

  • frapper: Le shell Bourne est à nouveau la valeur par défaut dans de nombreuses distributions.
  • rbash: Cette restriction bash shell fournit une fonctionnalité minimale à la personne ou au script qui y est exécuté.
  • cendre: La coque Almquist est une version plus légère de bash.
  • tiret: Debian Alquist Shell est le script shell par défaut dans Ubuntu. Tandis que bash est la connexion par défaut et le shell interactif, dash est utilisé pour exécuter les processus système car il est beaucoup plus léger que bash.
  • zsh: La coque Z est une version moderne du bash famille de coquillages. Il offre des améliorations soignées, comme les vérifications orthographiques des commandes et les corrections suggérées.
  • poisson: Ce shell interactif convivial a été écrit à partir de zéro et n’est dérivé d’aucune des autres familles de shell. Il est conçu pour être convivial. Parmi ses nombreux autres avantages, fish propose des suggestions de commandes basées sur votre historique et le contenu du dossier actuel, similaires au texte prédictif.
  • ksh: Le KornShell fournit un langage de script particulièrement puissant.

EN RELATION: Quelle est la différence entre Bash, Zsh et d’autres shells Linux?

Liste des shells installés

Pour voir quels shells sont installés sur votre ordinateur, utilisez cette commande. Il répertorie simplement le contenu du /etc/shells fichier:

cat /etc/shells

cat / etc / shells dans une fenêtre de terminal.

Nous avons mentionné bash, dash, et rbash, mais comment ça sh?

sh est le shell Thompson, écrit en 1971 par Ken Thompson de la renommée des Bell Labs. Il n’est plus entretenu et a depuis longtemps été remplacé par des obus modernes. Il est inclus uniquement pour maintenir la compatibilité avec les anciens scripts qui ont toujours les éléments suivants comme première ligne:

#!/bin/sh

Cela indique au système d’utiliser le sh shell pour exécuter le script. Avez-vous vraiment cet ancien shell sur votre machine, et est-il utilisé pour exécuter vos scripts? le which La commande nous indiquera quel programme s’exécute réellement lorsque vous tapez une commande.

Voyons ce qui s’exécute lorsque vous tapez sh:

which sh

Cela semble trouver un binaire. si nous creusons un peu plus profondément, cependant, nous verrons que c’est un lien symbolique qui pointe en fait vers dash, le shell léger utilisé pour exécuter des scripts:

ls -l /bin/sh

qui sh dans une fenêtre de terminal.

C’est un moyen léger et soigné de fournir un filet de sécurité aux scripts qui s’attendent à trouver sh sur les systèmes modernes.

Installer un autre shell

Installons le fish shell et le définir comme valeur par défaut pour dave. Sur Ubuntu, nous tapons la commande suivante:

sudo apt-get install fish

sudo apt-get install fish dans une fenêtre de terminal.

Sur Manjaro, utilisez pacman:

sudo pacman -Sy fish

sudo pacman -Sy fish dans une fenêtre de terminal.

Sur Fedora, tapez ce qui suit:

sudo dnf install fish

sudo dnf installe fish dans une fenêtre de terminal.

Une fois l’installation terminée, vous pouvez vérifier à nouveau les shells installés:

cat /etc/shells

cat / etc / shells dans une fenêtre de terminal.

Notre nouvelle coque apparaît comme /usr/bin/fish. Notez ce chemin: vous en aurez besoin sous peu.

La variable d’environnement $ SHELL

le $SHELL La variable d’environnement contient le nom de votre shell actuel. Nous pouvons vérifier lequel il est réglé avec echo:

echo $SHELL

Commençons le fish coquille:

fish

Maintenant, vérifions à nouveau ce que $SHELL la variable d’environnement dit:

echo $SHELL

echo $ SHELL dans une fenêtre de terminal.

La première fois que nous utilisons echo $SHELL, nous sommes dans le bash coquille. La variable d’environnement contient le chemin vers le bash exécutable, /bin/bash.

Lorsque nous lançons le fish shell, nous recevons un message de bienvenue convivial et l’invite de commande change. Ce qui pourrait surprendre, c’est la $SHELL l’environnement détient toujours le chemin de la bash exécutable, /bin/bash. Ça va, c’est normal.

Lorsque vous lancez un nouveau shell (ou tout autre programme), il hérite de l’environnement du shell parent. Alors le fish shell hérite des variables d’environnement globales et exportées du bash coquille. Parce que la valeur dans le $SHELL la variable d’environnement n’a pas été modifiée, elle a la même valeur dans fish coquille qu’il a fait dans le bash coquille.

Étaient en train de courir fish comme tout autre programme. Nous pouvons également utiliser exit pour quitter le fish coquille. Il se ferme comme tout autre programme, et nous revenons à la bash coquille.

C’est génial pour essayer de nouveaux obus, voir ce qu’ils peuvent faire et savoir si vous vous entendez avec eux. Vous pouvez explorer avant de faire le saut et en adopter un comme coquille de référence.

Si vous décidez de faire fish—Ou tout autre shell — votre valeur par défaut, vous devrez utiliser le chsh commander.

La commande chsh

le chsh La commande vous permet de changer votre shell par défaut. L’astuce est de savoir qu’elle vous permet de modifier à la fois la connexion par défaut et les shells interactifs par défaut. Vous voudrez peut-être changer l’un ou l’autre, ou les deux.

Chaque fois que vous vous connectez pour obtenir une invite de commande, vous utilisez le shell configuré pour être votre shell de connexion. Lorsque vous êtes déjà connecté et ouvrez une fenêtre de terminal, vous utilisez le shell configuré pour être votre shell interactif. Il peut s’agir de coques identiques ou différentes.

Pour définir votre shell de connexion, utilisez chsh sans paramètres:

chsh

chsh dans une fenêtre de terminal.

Vous êtes invité à saisir votre mot de passe. Ensuite, vous devez taper le chemin d’accès au nouveau shell et appuyer sur Entrée.

Si nous établissons une connexion à distance à cet ordinateur de test à partir d’un autre, nous nous retrouverons dans le fish shell une fois que nous nous sommes connectés.

Connexion SSH montrant le shell de poisson comme shell de connexion, dans une fenêtre de terminal.

Pour modifier votre utilisation du shell interactif chsh avec le -s (shell). Passez le chemin vers le nouveau shell sur la ligne de commande:

chsh -s /usr/bin/fish

chsh -s / usr / bin / fish dans une fenêtre de terminal.

Vous êtes invité à entrer votre mot de passe et à revenir à l’invite de commande de votre shell actuel. Vous devez vous déconnecter et vous reconnecter pour que la modification prenne effet. Lorsque vous le faites, vous verrez le message d’accueil et fish invite de commande shell.

le $SHELL La variable d’environnement contient maintenant le chemin vers votre nouveau shell par défaut:

echo $SHELL

echo $ SHELL dans une fenêtre de terminal.

Modification du shell d’un autre compte d’utilisateur

Si vous avez des privilèges root et pouvez utiliser sudo, vous pouvez modifier les interpréteurs de commandes d’autres comptes d’utilisateurs. La commande est la même qu’avant, avec l’ajout du nom d’utilisateur de cette personne à la ligne de commande:

sudo chsh -s /usr/bin/fish mary

sudo chsh -s / usr / bin / fish mary dans une fenêtre de terminal.

Quand mary lors de sa prochaine connexion, elle verra le nouveau shell lorsqu’elle ouvrira une fenêtre de terminal.

l'utilisateur mary à l'invite de commande de shell de poisson, dans une fenêtre de terminal.

Tout le monde a un favori

Tant que vous êtes à l’aise avec votre choix de coque et que cela fonctionne pour vous, c’est génial! N’oubliez pas qu’il doit être capable d’exécuter des scripts courants, tels que des routines d’installation. Pour les obus mentionnés ici, cela ne devrait pas poser de problème.

Bien sûr, vous pouvez également télécharger et installer un nouveau shell, et le prendre pour un essai routier sans apporter de modifications de configuration à votre ordinateur. Lorsque vous êtes prêt à faire le nœud, chsh effectuera la cérémonie pour vous.

body #primary .entry-content ul # nextuplist {list-style-type: none; margin-left: 0px; padding-left: 0px;}
body #primary .entry-content ul # nextuplist li a {text-decoration: none; color: # 1d55a9;}

Laisser un commentaire