GNU/Linux >> Tutoriels Linux >  >> Linux

Comment personnaliser l'invite Bash sous Linux

Présentation

Sous Linux, une grande partie de votre travail s'effectue à partir d'une invite de commande, également appelée shell , ou BASH (Bourne-Again Shell). Le shell interprète vos commandes et les transmet au système d'exploitation pour exécution.

Ce didacticiel vous montrera comment personnaliser ou modifier votre invite Linux BASH .

Prérequis

  • Un système exécutant Linux
  • Accès à une ligne de commande/terminal
  • Un compte utilisateur avec sudo ou racine privilèges

Invite BASH par défaut

L'invite BASH par défaut est celle que vous voyez lorsque vous ouvrez un terminal ou une ligne de commande pour la première fois. Cela ressemble généralement à ceci :

[email protected]:~$

Alternativement, cela peut ressembler à ceci :

(base) [[email protected] ~]$

La première partie de l'invite vous indique l'utilisateur actuellement connecté. La deuxième partie identifie le nom d'hôte du système.

Le signe tilde ~ indique que le répertoire de travail actuel est le répertoire personnel de l'utilisateur actuel.

Le signe dollar $ signifie que l'utilisateur actuel est un utilisateur standard.

Un utilisateur root serait identifié par un signe dièse # .

Personnaliser l'invite Bash sous Linux

Comme la plupart des applications Linux, BASH lit un fichier de configuration pour déterminer son comportement. Ce fichier se trouve dans le répertoire personnel :

~/.bashrc

Avant d'apporter des modifications, créez une copie de sauvegarde de votre fichier de configuration. Ouvrez une fenêtre de terminal et saisissez ce qui suit :

cp ~/.bashrc ~/.bashrc.bak

Modifier l'invite Bash sous Linux de manière permanente

Ouvrez le fichier de configuration BASH pour le modifier :

sudo nano ~/.bashrc

Dans ce fichier, vous devriez voir plusieurs paramètres différents. Certains d'entre eux sont des lignes descriptives en bleu, non commentées avec un # signe. Certains sont blancs, ce qui indique qu'ils sont activés.

Faites défiler vers le bas du fichier de configuration. Ajoutez la ligne suivante :

PS1="MyTestPrompt> "

Vous pouvez remplacer MyTestPrompt> avec n'importe quelle chaîne de texte que vous aimez.

Enregistrez le fichier (ctrl-o > Entrez ) et quitter (ctrl-x ).

Actualisez le service BASH pour appliquer vos modifications. Saisissez ce qui suit :

source ~/.bashrc

Votre invite de ligne de commande devrait se transformer en ceci :

MyTestPrompt>

Créer une modification temporaire de l'invite BASH

Vous pouvez modifier temporairement l'invite BASH en utilisant export commande. Cette commande modifie l'invite jusqu'à ce que l'utilisateur se déconnecte.

Définissez l'invite BASH pour n'afficher que le nom d'utilisateur en saisissant ce qui suit :

export PS1="\u >"

L'invite devrait immédiatement changer pour ressembler à ceci :

username >

Vous pouvez réinitialiser l'invite en vous déconnectant, puis en vous reconnectant.

Options personnalisées populaires pour les invites BASH

Vous pouvez utiliser ces options dans l'une ou l'autre méthode - temporairement avec l'export commande, ou de façon permanente en éditant le ~/.bashrc fichier.

Afficher le nom d'utilisateur et le nom de domaine

Utilisez le –H option pour afficher un nom d'hôte complet :

export PS1="\u\H "

Vous devriez voir le nom d'hôte dans l'invite.

Ajouter des caractères spéciaux

Vous pouvez ajouter des caractères spéciaux à l'invite en les plaçant dans l'ordre autour des options spéciales :

export PS1="\[email protected]\H :"

Cela devrait afficher ce qui suit :

[email protected]:

Afficher le nom d'utilisateur plus le nom et la version du shell

Saisissez ce qui suit pour afficher le nom d'utilisateur, le nom du shell et la version :

export PS1="\u >\s\v "

L'invite devrait changer comme suit :

username >bash4.4

Ajouter la date et l'heure à l'invite BASH

Utilisez les options suivantes pour afficher différents formats de date et d'heure :

  • d Affiche la date d'aujourd'hui en [jour de la semaine]/[mois]/[jour]
export PS1="\[email protected]\H>\d "
  • t Affiche l'heure actuelle au format 24 heures
export PS1="\[email protected]\H>\t "
  • T Affiche l'heure actuelle au format 12 heures
export PS1="\[email protected]\H>\T "
  • A Affiche l'heure actuelle au format 24 heures, avec seulement les heures et les minutes
export PS1="\[email protected]\H>\A "

Masquer toutes les informations dans l'invite BASH

Utilisez ceci pour empêcher les noms d'utilisateur ou les noms d'hôte de s'afficher à l'invite :

export PS1="\W > "

Vous devriez voir ce qui suit :

~ >

Différencier l'utilisateur racine de l'utilisateur normal

L'invite BASH normale affiche un $ signer pour un utilisateur normal. Si vous vous connectez en tant qu'utilisateur root, un # signe est affiché. Utilisez le $ code pour indiquer que l'utilisateur actuel n'est pas un utilisateur root :

export PS1="\[email protected]\H \W:\$ "

Plus d'options d'invite BASH

Voici une liste de la plupart des options que vous pouvez utiliser pour l'invite BASH.

Certaines de ces commandes peuvent ne pas fonctionner sur toutes les versions de Linux.

  • \a – Un personnage cloche
  • \d – Date (jour/mois/jour)
  • \D{format} – Utilisez-le pour appeler le système afin qu'il réponde avec l'heure actuelle
  • \e – Caractère d'échappement
  • \h – Nom d'hôte (court)
  • \H – Nom d'hôte complet (nom de domaine)
  • \j – Nombre de tâches gérées par le shell
  • \l – Le nom de base du terminal shells
  • \n – Nouvelle ligne
  • \r – Retour chariot
  • \s – Le nom du shell
  • \t – Heure (heure:minute:seconde)
  • \@ – Heure, 12 heures AM/PM
  • \A – Heure, 24 heures, sans secondes
  • \u – Nom d'utilisateur actuel
  • \v – Version BASH
  • \V – Informations supplémentaires sur la version BASH
  • \w – Répertoire de travail courant ($HOME est représenté par ~)
  • \W – Le nom de base du répertoire de travail ($HOME est représenté par ~)
  • \! – Liste le numéro de cette commande dans l'historique
  • \# – Le numéro de commande de cette commande
  • \$ – Spécifie si l'utilisateur est root (#) ou autrement ($)
  • \\ – Barre oblique inverse
  • \[ – Démarrer une séquence de caractères non affichés (utile si vous souhaitez ajouter une commande ou un jeu d'instructions à l'invite)
  • \] – Fermer ou terminer une séquence de caractères non affichés

Comment changer la couleur de l'invite BASH

Vous pouvez changer la couleur du texte de votre invite BASH. Par exemple, pour modifier temporairement le texte de votre invite BASH en vert, saisissez ce qui suit :

export PS1="\e[0;32m[\[email protected]\h \W]\$ \e[0m"

Votre invite doit avoir le même texte que d'habitude mais être de couleur verte.

Voici une répartition des commandes :

• \e[ – Commencer les changements de couleur
0;32m – Précisez le code couleur
[\[email protected]\h \W]\$ – Ceci est le code de votre invite BASH normale ([email protected] Workingdirectory $ )
• \e[0m – Quitter le mode de changement de couleur

Le premier chiffre du code couleur spécifie la police :

0 - Normal
1 – Gras (brillant)
2 – Faible
4 – Souligné

Le deuxième chiffre indique la couleur souhaitée :

30 - Le noir
31 - Rouge
32 - Vert
33 - Brun
34 - Bleu
35 - Violet
36 – Cyan
37 – Gris clair

De plus, si vous combinez l'option lumineuse avec un code couleur, vous obtenez une version plus claire de cette couleur. Par exemple, si vous utilisez le code couleur 1;32 , vous obtiendrez du vert clair au lieu du vert normal. Si vous utilisez 1;33 , vous obtenez du jaune au lieu de marron.

Comment réinitialiser les modifications BASH aux paramètres par défaut

Il existe deux façons de réinitialiser les modifications. Pour les modifications temporaires (en utilisant le export PS1="" commande), vous pouvez réinitialiser la valeur par défaut en vous déconnectant.

Si vous avez modifié le \.bashrc fichier pour apporter des modifications permanentes, il existe deux méthodes pour rétablir les paramètres par défaut :

  • Affichez vos modifications sous forme de commentaires en modifiant le fichier et en ajoutant un # avant chaque modification effectuée.
  • Restaurez les paramètres par défaut de votre sauvegarde en saisissant :
sudo cp ~/.bashrc.bak ~/.bashrc

Comprendre les différentes parties de l'invite BASH

Avant de continuer, réinitialisez votre invite BASH à la valeur par défaut. Si vous avez utilisé le export commande, déconnectez-vous et reconnectez-vous. Si vous avez modifié votre ~/.bashrc fichier, placez un # signez avant chaque modification que vous avez apportée et enregistrez le fichier.

L'invite BASH contient quatre valeurs différentes :PS1, PS2, PS3 et PS4 .

Le PS signifie Prompt Statement . Jusqu'à présent, nous avons travaillé avec la valeur PS1. Pour voir la valeur PS1 actuelle, saisissez ce qui suit :

echo $PS1

Selon le système, le terminal renvoie quelque chose comme ceci pour les paramètres par défaut :


Vous reconnaîtrez peut-être le \[email protected]\h options comme nom d'utilisateur et hôte . Le w affiche le répertoire de travail actuel.

Maintenant, affichez la valeur PS2 :

echo $PS2

Le système devrait afficher juste un crochet :

>

Répéter la même commande pour PS3 doit être vide.

Pour PS4, vous verrez un + signe.

Voici les différentes significations des différentes parties de l'invite BASH :

  • PS1 – Il s'agit de l'affichage d'invite principal. C'est ici que vous définissez les caractères spéciaux ou les informations importantes.
  • PS2 – Il s'agit de la chaîne d'invite secondaire. Il s'agit généralement d'un séparateur entre l'affichage de l'invite et la saisie de texte. Il est également utilisé pour afficher lorsqu'une longue commande est divisée en sections avec le \ signer.
  • PS3 – Ceci est l'invite pour le select commande.
  • PS4 – Il s'agit de l'invite pour exécuter un script shell en mode débogage.

Dans la plupart des cas, vous ne travaillerez qu'avec la PS1 option et peut-être la PS2 également.


Linux
  1. Hivériser votre invite Bash sous Linux

  2. Comment personnaliser les couleurs et le contenu de Bash dans l'invite du terminal Linux

  3. Comment effacer l'historique de la ligne de commande BASH sous Linux

  4. Comment vérifier syslog dans Bash sous Linux ?

  5. Comment obtenir un masque de réseau à partir de bash ?

Comment utiliser la commande de date dans les scripts bash sous Linux

Comment personnaliser la commande Linux top

Comment personnaliser l'invite du terminal Bash sur Debian 10

Comment utiliser la commande Declare dans Linux Bash Shell

Comment installer Linux Bash Shell sur Windows 10

Comment personnaliser Cinnamon Desktop dans le système Linux