Aujourd'hui, Bash est le shell par défaut dans la plupart (sinon la totalité) des distributions Linux modernes. Cependant, vous avez peut-être remarqué que la couleur du texte dans le terminal et le contenu de l'invite peuvent être différents d'une distribution à l'autre.
Lecture suggérée : 5 Shells Open Source les plus fréquemment utilisés pour Linux
Au cas où vous vous demanderiez comment personnaliser cela pour une meilleure accessibilité ou un simple caprice, continuez à lire - dans cet article, nous vous expliquerons comment faire exactement cela.
La variable d'environnement PS1 Bash
L'invite de commande et l'apparence du terminal sont régies par une variable d'environnement appelée PS1
. Selon le Bash page de manuel, PS1 représente la chaîne d'invite principale qui s'affiche lorsque le shell est prêt à lire une commande.
Le contenu autorisé dans PS1 se compose de plusieurs caractères spéciaux échappés par une barre oblique inverse dont la signification est répertoriée dans l'INVITE section de la page de manuel.
Pour illustrer, affichons le contenu actuel de PS1
dans notre système (cela peut être quelque peu différent dans votre cas) :
$ echo $PS1 [\[email protected]\h \W]$
Nous allons maintenant vous expliquer comment personnaliser PS1 selon nos besoins.
Personnalisation du format PS1
Selon la section PROMPTING de la page de manuel, voici la signification de chaque caractère spécial :
\u:
le nom d'utilisateur de l'utilisateur actuel.\h:
le nom d'hôte jusqu'au premier point (.) dans le nom de domaine complet.\W:
le nom de base du répertoire de travail courant, avec $HOME abrégé avec un tilde (~) .\$:
Si l'utilisateur actuel est root, affichez # , $ sinon.
Par exemple, nous pouvons envisager d'ajouter \!
Si on veut afficher le numéro d'historique de la commande en cours, ou \H
si nous voulons afficher le FQDN au lieu du nom court du serveur.
Dans l'exemple suivant, nous allons importer les deux dans notre environnement actuel en exécutant cette commande :
PS1="[\[email protected]\H \W \!]$"
Lorsque vous appuyez sur Entrée vous verrez que le contenu de l'invite change comme indiqué ci-dessous. Comparez l'invite avant et après l'exécution de la commande ci-dessus :
Allons maintenant un peu plus loin et changeons la couleur de l'utilisateur et nom d'hôte dans l'invite de commande - à la fois le texte et son arrière-plan environnant.
En fait, nous pouvons personnaliser 3 aspects de l'invite :
Format du texte | Couleur de premier plan (texte) | Couleur d'arrière-plan |
0 :texte normal | 30 :Noir | 40 :Noir |
1 :gras | 31 :Rouge | 41 :Rouge |
4 :Texte souligné | 32 :Vert | 42 :Vert |
33 :Jaune | 43 :Jaune | |
34 :Bleu | 44 :Bleu | |
35 :Violet | 45 :Violet | |
36 :Cyan | 46 :Cyan | |
37 :Blanc | 47 :Blanc |
Nous utiliserons le \e
caractère spécial au début et un m
à la fin pour indiquer que ce qui suit est une séquence de couleurs.
Dans cette séquence, les trois valeurs (background , formater , et premier plan ) sont séparés par des virgules (si aucune valeur n'est donnée, la valeur par défaut est utilisée).
Lecture suggérée : Apprendre les scripts shell bash sous Linux
De plus, étant donné que les plages de valeurs sont différentes, peu importe laquelle (arrière-plan , formater , ou premier plan ) que vous spécifiez en premier.
Par exemple, le PS1
suivant fera apparaître l'invite en jaune texte souligné de rouge arrière-plan :
PS1="\e[41;4;33m[\[email protected]\h \W]$ "
Aussi bonne qu'elle puisse paraître, cette personnalisation ne durera que pour la session utilisateur en cours. Si vous fermez votre terminal ou quittez la session, les modifications seront perdues.
Afin de rendre ces modifications permanentes, vous devrez ajouter la ligne suivante à ~/.bashrc
ou ~/.bash_profile
en fonction de votre diffusion :
PS1="\e[41;4;33m[\[email protected]\h \W]$ "
N'hésitez pas à jouer avec les couleurs pour trouver ce qui vous convient le mieux.
Résumé
Dans cet article, nous avons expliqué comment personnaliser la couleur et le contenu de votre invite Bash. Si vous avez des questions ou des suggestions à propos de cet article, n'hésitez pas à utiliser le formulaire de commentaire ci-dessous pour nous contacter. Nous sommes impatients de vous entendre !