Le shell en couleurs
Utiliser le shell en couleurs sous UNIX
Par défaut, votre UNIX préféré vous propose des couleurs qui ne permettent pas de mettre en évidence certaines informations. dans un affichage monochrome, comment mettre en évidence ce qui est important, ce qui ne l'est pas ou tout simplement avoir un affichage plus joli ?
La réponse est simple : en utilisant des couleurs. car contrairement à ce qu'on pourrait croire, UNIX peut afficher autre chose que du gris (en réalité du blanc) sur fond noir.
Les couleurs
Pour gérer les couleurs sous UNIX, il faut considérer la couleur, le fond et l'effet.
En ce qui concerne les couleurs, nous avons :
Couleur | Texte | Fond |
---|---|---|
Noir | 30 | 40 |
Rouge | 31 | 41 |
Vert | 32 | 42 |
Jaune | 33 | 43 |
Bleu | 34 | 44 |
Magenta | 35 | 45 |
Cyan | 36 | 46 |
Blanc | 37 | 47 |
pour l'effet, nous avons :
Effet | Code |
---|---|
normal | 0 |
gras | 1 |
non gras | 21 |
souligné | 4 |
non souligné | 24 |
clignotant | 5 |
non clignotant | 25 |
inversé | 7 |
non inversé | 27 |
Remarque
Pour l'effet, vous remarquerez que l'annulation de l'effet correspond au code de l'effet précédé d'un "2" (1-->21, 4-->24, etc.)
Remarque
En fonction du système utilisé, les effets ne correspondent pas forcément au tableau ci-dessus.
utilisation
Pour utiliser une couleur dans un shell, il faut activer la couleur choisie :
printf '\033[A;B;Cm'
avec A=effet, B=texte, C=fond
Puis, à la fin, annuler les modifications pour revenir à l'état standard :
printf '\033[0m'
Si l'on ne désactive pas les modifications afin de revenir à l'état standard, les propriétés seront conservées. Une modification annule obligatoirement les propriétés antérieures. Celles-ci ne se cumulent pas.
Exemples
Pour afficher le texte "Bonjour" en bleu, il suffit d'utiliser :
printf '\033[1;34;40m'
echo Bonjour
printf '\033[0m'