Personnaliser l’invite (prompt) du terminal Linux

malekalmorte

Date création :

19 mars 2023

Dernière modification :

Dans le terminal Linux, à droite du prompt (invite), vous tapez vos commandes dans une invite de commande standard, qui affiche généralement votre nom d’utilisateur, votre nom d’hôte et votre répertoire actuel dans une palette de couleurs prédéfinie.
Bash propose de nombreuses options de personnalisation de l’invite de commande qui vous permettent non seulement d’ajouter différentes fonctions à l’invite, mais aussi de les distinguer par des couleurs différentes.

Dans ce tutoriel, je vous donne plusieurs exemples pour personnaliser et recolorer l’invite de commande de notre application de terminal en jouant sur la variable PS1.
Ces modifications du prompt du terminal Linux s’appliquent pour Ubuntu 22.04 LTS, Debian, Mint, Fedora et la plupart des distributions Linux.

Personnaliser l'invite (prompt) du terminal Linux

Comment personnaliser l’invite (prompt) du terminal Linux

La variable PS1

La variable PS1 que vous voyez dans l’image ci-dessus contient toute la configuration requise pour l’invite bash. Expliquons d’abord ce que les caractères de cette variable indiquent.

PS1='\u@\h: \w\$'
  • \u : Ceci indique le nom d’utilisateur de l’utilisateur actuel
  • \h : Indique le nom d’hôte de l’utilisateur actuel, extrait du nom de domaine complet.
  • \w : Indique le répertoire de travail actuel. Votre répertoire personnel est indiqué par le symbole tilde ~.
  • \$ : Indique si vous êtes un utilisateur normal ($) ou un utilisateur root (#).

Personnaliser le prompt du shell

Avant de modifier la variable PS1, vous pouvez stocker celle-ci dans une autre variable afin de la restaurer par défaut.

DEFAUT=$PS1

variable « DEFAULT » contient désormais toutes les informations dont nous avons besoin pour récupérer nos paramètres d’invite par défaut.

PS1="\u\$ "

Cette nouvelle valeur de PS1 a l’effet suivant sur votre invite :

Personnaliser le prompt du shell et terminal Linux

A partir de là, il ne reste plus qu’à connaître les caractères que vous pouvez appliquer.
Voici la liste des caractères que vous pouvez utiliser avec la variable PS1.

CaractèreDescription
\dLa date au format jour-mois-date
\eModifier les couleurs
\aLe caractère d’échappement
\hLe nom d’hôte de l’utilisateur actuel jusqu’à ‘.’
\HLe nom d’hôte de l’utilisateur actuel
\lNom de base du terminal
\jNombre de tâches exécutées par l’interpréteur de commandes
\rRetour chariot
\nUne nouvelle ligne
\uNom d’utilisateur de l’utilisateur actuel
\vVersion Bash
\!Imprimer le numéro d’historique de la commande en cours d’exécution
Les caractères de la variable PS1

Vous pouvez également visualiser la configuration de la variable PS1 en utilisant la commande echo :

echo $PS1

Ensuite, il est possible de modifier la variable du prompt à tout moment, par exemple :

PS1='\d--\u@\h:\w\$ '
Personnaliser le prompt du terminal Linux avec la variable PS1

Par exemple pour afficher l’heure dans le prompt du Terminal Linux :

PS1='\A\u: \w\$ '
Personnaliser le prompt du terminal Linux avec la variable PS1

Pour rétablir le prompt par défaut :

PS1=$DEFAUT

Changer la couleur du prompt

Après avoir personnalisé l’invite, vous vous rendrez compte que les choses peuvent sembler un peu désordonnées. La raison en est qu’il n’est pas facile de différencier une fonctionnalité d’une autre si elles sont toutes listées dans la même couleur. Voyons maintenant comment coloriser l’invite pour la rendre plus agréable à l’œil.

Vous pouvez modifier cette valeur de couleur pour une fonctionnalité de l’invite de bash afin de lui donner une nouvelle couleur ou ajouter une nouvelle balise de couleur à une fonctionnalité qui n’en a pas.

La syntaxe est la suivante :

\[\033[COULEUR]m\]

Voici quelques couleurs courantes et leurs valeurs :

CouleurValeur
Vert32
Rouge31
Noir30
Blue34
Cyan36
Violet/Pourpre35
Jaune33
Blanc37
Les codes couleurs

Par exemple, le nom d’utilisateur et le nom d’hôte par défaut que nous voyons dans l’invite de notre terminal par défaut sont verts en raison de la balise de couleur suivante :

PS1='\[\033[01;31m\]\u@\h '
Changer la couleur du prompt du Terminal Linux

Utiliser des styles de texte dans l’invite

Vous pouvez ajouter des styles à votre texte d’invite en attribuant une valeur d’attribut à une balise de couleur. Voici le format d’une balise de couleur avec un attribut :

[\033[ATTRIBUT;COULEURm]
Valeur de l’attributDescription
0Texte normal (c’est la valeur par défaut même si aucun attribut n’est défini)
1Dans le terminal Ubuntu, cette valeur permet de mettre le texte en gras.
2Dim texte
4Soulignement de texte
5Pour le texte clignotant
7Inverse les couleurs du texte et de l’arrière-plan
8Pour le texte caché
Personnaliser les styles de textes du prompt du terminal Linux

Vous pouvez utiliser la commande suivante pour souligner l’invite de bash :

PS1='\[\033[4;31m\]\u@\h '
Changer la couleur du prompt du Terminal Linux

Comment apporter des modifications permanentes à l’invite

Pour modifier la variable PS1 de manière définitive afin que le prompt soit personnalisé à chaque ouverture du Terminal, il faut éditer le fichier .bashrc :

vi ~/.bashrc

Vérifiez si la variable PS1 y est déjà définie, si oui commentez les lignes en ajoutant un caractère # en début de ligne.

Comment personnaliser son terminal Linux

Personnaliser son terminal Linux

A propros de malekalmorte

malekal-site-logo-150

Passionné par l'informatique depuis très jeune, j'aide les internautes sur les forums depuis 2005 pour résoudre leurs tracas informatiques.
Je vous propose par la même occasion ce site avec de nombreux tutoriels pour vous aider aussi à résoudre de manière autonome les problèmes informatiques du quotidien.