« Trucs:Prompt : une invite de commande en couleur » : différence entre les versions

De Lea Linux
Aller à la navigation Aller à la recherche
(conversion de la documentation originale de Léa par HTML::WikiConverter)
 
Aucun résumé des modifications
Ligne 30 : Ligne 30 :


<div class="aparte">Merci a babar et scriptfanix pour mes lacunes en anglais.</div>
<div class="aparte">Merci a babar et scriptfanix pour mes lacunes en anglais.</div>
[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''';'''couleur'''m\]
pour le retour en mode standard:
'''\[\033[00m\]'''
[[Catégorie:Trucs_Shell]]
[[Catégorie:Trucs_Shell]]

Version du 27 février 2009 à 13:46

asteroid<l.asteroid chez laposte.net>

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 :

root sur machine dans /home/pikachou

=>

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 :-)

Merci a babar et scriptfanix pour mes lacunes en anglais.

[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\]