CyberSDF

Reprenez la main sur votre numérique

Configurateur de prompt Bash PS1 : créez votre ligne

Écran de terminal sombre avec un prompt Bash réduit à un curseur coloré

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
  1. Composez votre ligne PS1
  2. Un prompt utile montre où la commande va partir
  3. Lire les marqueurs que Bash va développer
  4. La couleur ajoute une contrainte invisible
  5. Inscrire la ligne dans ~/.bashrc sans perdre le retour
  6. Revenir à l’invite précédente
  7. Quand rester sur une invite simple

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.

Informations à afficher
Valeurs visibles dans l’aperçu

Le marqueur \$ devient $ pour un compte ordinaire et # pour root.

Valeur à copier

PS1='[\u@\h \W]\$ '

La ligne suit les choix ci-dessus.

Aperçu avec les valeurs d’exemple
[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.

MarqueurAffichageChoix dans l’outil
\uNom de l’utilisateur courantUtilisateur
\hNom de machine jusqu’au premier pointMachine
\HNom complet de machineÀ utiliser si le domaine distingue les hôtes
\wChemin courant, avec le dossier personnel abrégé en ~Chemin complet
\WDernier composant du chemin courantDernier dossier
\$$ pour un compte ordinaire, # pour rootToujours 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

  1. 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.
  2. 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 : sudo n’est pas nécessaire.
  3. 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.