Trucs:Prompt : une invite de commande en couleur
Il est utile quand on travaille en console de différencier du premier coup d'oeil le résultat d'une commande. Pour ca, on peut customiser le prompt de differentes façons :
- utilisez un prompt en couleur
- utilisez le retour à la ligne en fin de prompt
- combiner les deux :)
Pour ça il vous faut modifier le fichier .bashrc
qui se trouve dans votre répertoire personnel en rajoutant à la fin PS1="votre \prompt\perso"
Je ne vais pas entrer dans le détail (sauf si on me le demande) car tout le web en parle. Seulement je vais m'attarder sur un point qui est très génants, la couleur.
Pour la suite il faut juste savoir que :\u
est le nom de l'utilisateur (root, pikachou, asteroid, ...)\h
est votre hostaname (bench, monPC, station, MIR, ...)\W
est le repertoire courant (celui dans lequel vous êtes)\w
est le chemin complet du repertoire courant\n
permet de revenir à la ligne\$
qui met un $ qd vou n'êtes pas root ou un # si vous l'êtes
Par defaut le PS1 est [\u@\h \W]\$ et on le connait en faisant echo $PS1
Lorsque j'ai mis de la couleur dans mon prompt j'ai fait PS1="\e[1;31m\u sur \h dans \w \n=>\e[0m"
ce qui me donne un prompt rouge du style :
=>
Le fait de saisir PS1="... dans une console permet de voir les modifs sans pour autant les enregistrer directement. un exit
vous remettra au prompt précedent. Mais malheuresement, lorsque je tapais des commandes qui dépassaient la fin de la ligne ça ré-écrivait sur le prompt au lieu d'aller à la ligne.
L'astuce consiste donc à remplacer \e[1;31m
par \[\e[1;31m
et pareil pour arreter la couleur le \[\e[0m.
Pour conclure :\[\e[1;31m
commence la couleur dans le bash (ici uniquement le prompt) et \[\e[0m
arrête la couleur.
Le code couleurs est facile a trouver sur le web et en francais avec un tas de petites explications :)
Voila j'espère que ce petit post aura résolu le problème de certains et donner envie aux autres d'en savoir plus sur le bash et son propmt :-)
[ajout] particularité sur debian 5.00 (je l'ignore pour les debian d'avant) la commande est: \[\033[01;31m\] ou \033=?? [01;31m\] est de type [fond;couleurm\]
pour le retour en mode standard: \[\033[00m\]