Configurateur de prompt Bash PS1 : créez votre ligne

Le configurateur produit une ligne PS1 lisible, la prévisualise et la copie sans ajouter de commande externe. Choisissez les informations visibles dans l’invite, retenez le chemin complet ou son dernier dossier, puis appliquez la valeur dans ~/.bashrc après un contrôle de syntaxe.
Sommaire
Le résultat reste une affectation Bash ordinaire. Pour comprendre ce que l’invite affiche avant de la modifier, commencez par les repères du terminal Linux.
Composez votre ligne PS1
Les champs d’exemple servent uniquement à l’aperçu. La commande copiée conserve les marqueurs Bash afin de suivre votre compte, votre machine et votre dossier à chaque invite.
PS1='[\u@\h \W]\$ '
La ligne suit les choix ci-dessus.
[sam@atelier projet]$
Un prompt utile montre où la commande va partir
Une invite n’est pas une décoration : elle rappelle le compte, la machine et le dossier au moment où Bash attend une commande. \u affiche l’utilisateur courant, \h le nom court de la machine et \$ choisit $ ou # selon l’identité effective. Cette dernière différence devient précieuse quand plusieurs fenêtres SSH ou administrateur sont ouvertes.
Le 17 septembre 2026, GNU Bash 5.2.21 a servi de version de contrôle. La valeur de base [\u@\h \W]\$ compte 13 octets, espace final compris, avec printf '%s' '[\u@\h \W]\$ ' | wc -c. Le même réglage a été injecté dans un Bash interactif isolé avant une commande de contrôle : les marqueurs ont bien été développés par l’invite, pas par le navigateur.
Lire les marqueurs que Bash va développer
La valeur copiée conserve les échappements jusqu’à l’affichage. Les champs saisis dans l’aperçu ne sont donc pas écrits dans votre fichier de configuration.
| Marqueur | Affichage | Choix dans l’outil |
|---|---|---|
\u | Nom de l’utilisateur courant | Utilisateur |
\h | Nom de machine jusqu’au premier point | Machine |
\H | Nom complet de machine | À utiliser si le domaine distingue les hôtes |
\w | Chemin courant, avec le dossier personnel abrégé en ~ | Chemin complet |
\W | Dernier composant du chemin courant | Dernier dossier |
\$ | $ pour un compte ordinaire, # pour root | Toujours conservé |
Ces séquences sont celles décrites dans le manuel Bash consacré au prompt. La ligne produite n’utilise ni nom d’utilisateur en dur ni nom de machine inventé : elle suivra l’environnement où vous la collerez.
La couleur ajoute une contrainte invisible
Une couleur de terminal est une séquence de contrôle, pas un caractère visible. Bash doit donc savoir où elle commence et se termine pour calculer la largeur de l’invite. La forme produite par l’outil entoure chaque séquence avec \[ et \], puis remet le style à zéro.
PS1='\[\033[01;32m\][\u@\h \W]\[\033[00m\]\$ '
\033[01;32m active un vert intense, \033[00m remet le terminal à son état normal et les deux crochets inversés n’ajoutent aucune largeur visible. Les garder dans la chaîne évite un curseur qui se décale lorsque la commande saisie devient longue.
Inscrire la ligne dans ~/.bashrc sans perdre le retour
- Gardez une copie. Dans le terminal, lancez
cp ~/.bashrc ~/.bashrc.avant-prompt-$(date +%F). Si le fichier n’existe pas encore, créez-le depuis votre éditeur habituel. - Ajoutez la valeur choisie. Ouvrez
~/.bashrc, placez la ligne copiée à la fin du fichier et conservez les guillemets simples. Cette configuration appartient à votre compte :sudon’est pas nécessaire. - Contrôlez puis rechargez. Exécutez
bash -n ~/.bashrc, puis. ~/.bashrc. La première commande lit la syntaxe sans exécuter le fichier ; la seconde applique la valeur dans la session courante.
bash -n ~/.bashrc
. ~/.bashrc
Une invite ne change pas après . ~/.bashrc ? Vérifiez que la ligne ajoutée se trouve bien dans ce fichier et que la session est Bash interactive. Les fichiers de démarrage de Bash distinguent les shells de connexion et les shells interactifs ; ~/.profile peut charger ~/.bashrc, selon la configuration de la distribution.
Revenir à l’invite précédente
La copie datée permet de revenir à la version précédente sans rechercher la ligne ajoutée :
cp ~/.bashrc.avant-prompt-$(date +%F) ~/.bashrc
. ~/.bashrc
Pour un premier essai, testez la valeur dans la session courante avant de l’écrire. Une fermeture du terminal efface cette modification temporaire et laisse le fichier sur disque inchangé.
Quand rester sur une invite simple
Cette version reste volontairement limitée aux marqueurs Bash et à une couleur ANSI : elle ne calcule pas le statut Git, n’exécute pas de commande à chaque invite et ne configure pas zsh. Pour enchaîner une tâche locale avec une entrée, une sortie et un contrôle distincts, voyez comment automatiser une petite routine.
La personnalisation détaillée des fichiers de démarrage, des séquences de couleur et du retour arrière se poursuit dans les explications sur le prompt Bash. Si le besoin porte plutôt sur le chemin, les copies et les états de retour, reprenez les commandes Linux de base.