Prompt
| Fiche express | |
|---|---|
| Domaine | Convention visuelle du prompt shell |
| Fichier | ~/.bashrc
|
| Objectif | Repérer d'un coup d'œil l'environnement (prod/recette/dev) pour éviter une commande destructrice au mauvais endroit |
| Codes couleur | Rouge = prod · Magenta = recette · Vert = dev |
| Voir aussi | Bashrc (script de prompt complet) |
Le mécanisme du prompt personnalisé (fonction bash_prompt, troncature du chemin,
variable PROMPT_COMMAND) est déjà détaillé dans Bashrc. Cette page se limite à
une astuce complémentaire : coder la couleur du prompt par environnement plutôt que (ou
en plus) par utilisateur, pour distinguer visuellement prod/recette/dev.
Convention par environnement
Là où Bashrc distingue root (rouge) d'un utilisateur normal (couleur neutre), on peut
étendre la même logique pour distinguer l'environnement du serveur lui-même, en fixant la
couleur directement dans le script plutôt qu'en la déduisant de $UID :
| Environnement | Couleur | Variable ANSI (voir palette dans Bashrc) |
|---|---|---|
| Production | Rouge | $R
|
| Recette | Magenta | $M
|
| Développement | Vert | $G
|
Dans la fonction bash_prompt (script complet dans Bashrc), il suffit de
remplacer l'affectation de UC par la couleur voulue pour ce serveur, au lieu de la
déduire du rôle de l'utilisateur connecté :
# Au lieu de :
# local UC=$W
# [ "$UID" -eq 0 ] && UC=$R
#
# fixer une couleur par serveur/environnement (à adapter à chaque machine) :
local UC=$R # ce serveur est en prod : prompt rouge quel que soit l'utilisateur
⚠️ Cette convention par environnement et la convention par utilisateur (Bashrc, root en
rouge) se recouvrent sur la couleur rouge : si les deux sont combinées sur un même serveur,
choisir un signal distinct pour root (par exemple un fond de couleur en plus du texte, cf. les
variables BG* listées dans le script de Bashrc) pour ne pas confondre
« ce serveur est en prod » et « je suis root ».
Voir aussi
- Bashrc — script de prompt complet (troncature du chemin, titre de fenêtre, palette de couleurs ANSI), personnalisation de
PS1