Le prompt de votre terminal ne vous satisfait pas ? Vous voulez afficher plus d'informations comme l'heure ou le répertoire de travail ? Avec un peu de couleurs ? Suivez ce pas-à-pas !

Le shell le plus couramment utilisé sur Linux est bash. Le prompt est ce qui est affiché avant l'écriture d'une commande.

Nous allons voir comment le modifier pour le rendre plus attrayant et plus utile.

Le fichier de configuration

A chaque connexion d'un utilisateur, le fichier .bashrc de ce dernier est chargé. Il contient divers variables et fonctionnalités.

Ouvrez votre fichier .bashrc situé dans votre home :

vi ~/.bashrc

Pour modifier le .bashrc de l'utilisateur root, modifiez celui-là :

vi /root/.bashrc

Changer le prompt

Le prompt contient par défaut votre nom d'utilisateur et le nom de la machine. Nous allons rajouter l'heure ainsi que le répertoire de travail. Tout ceci avec un peu de couleurs !

Commentez avant tout la ligne où la variable PS1 est déclarée. Pour cela, précédez la ligne PS1=... d'un #.

Dans le fichier .bashrc, rendez-vous à la fin et collez-y ces lignes :

NC="\[\e[0m\]"
NOIR="\[\e[30;1m\]"
VERT="\[\e[32;40m\]" #"\033[0;32;40m"
JAUNE="\[\e[33;40m\]" #"\033[0;33;40m"

export PS1="$NOIR[\t] $NC\u@\h:$JAUNE\w $VERT>$NC "

Les quatre premières sont des variables (NC, NOIR, VERT et JAUNE) permettant de définir les couleurs. La dernière permet de changer le prompt.
Il est composé de l'heure en noire (entourée de crochets), puis du nom d'utilisateur suivi du nom de la machine en couleur par défaut (blanc). Le répertoire de travail (w) est inséré en jaune et un chevron vert est ajouté à la fin.

La ligne est chargée et peu compréhensible mais nous voilà avec un prompt intéressant !

Enregistrez le fichier et rechargez le bash avec la commande bash. Si cela n'a aucun effet, fermez et relancez votre terminal ou déconnectez/reconnectez-vous pour constater le nouveau prompt.

Aller plus loin

Voici la liste non exhaustive des données que l'on peut utiliser :

  • \d : la date au format "jour mois n° du jour" (ex. : Tue May 26)
  • \D{format} : la date au format strftime prédéfini (ex. : D{%d-%m})
  • \h : le nom de la machine (avant le premier '.')
  • \H : le nom complet de la machine
  • \n : saut de ligne
  • \r : retour chariot
  • \t : l'heure au format HH:MM:SS
  • \T : l'heure au format 12 heures HH:MM:SS
  • \@ : l'heure au format am/pm
  • \A : l'heure au format HH:MM
  • \u : le nom d'utilisateur connecté
  • \w : le répertoire de travail
  • # : le numéro de la commande

Quelques liens :