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'