Shell coloré
De Diablotins.org.
| Coloration contextuelle Shell
|
| ||
|
Souvent on veut colorer le ls(1) de FreeBSD, alors on essaie : $ alias ls='ls --color' Hélas, ça ne marche pas ... $ alias ls='ls -G' Comme nous dit le manuel. Mais ce dernier nous dit mieux que ça ! |
On peut y lire l'existence de trois variables d'environnement :
- CLICOLOR : cette variable est un booléen qui sert à la même chose que le -G de notre alias. il active la coloration sur ls.
- CLICOLOR_FORCE : cette variable est aussi un booléen, mais cette fois-ci, si elle est à “enable”, cette variable implique la coloration dans tout les cas même en mode non interactif. La coloration fait appel au caractères d'échappements, et donc je vous déconseille ce mode car sinon, dans vos scripts en piping de sortie de ls, vous aurez de drôles de surprises.
- LSCOLORS : c'est ici que ça devient intéressant !:)
on peu configurer les couleurs en liste 'fb', “foreground/background”.
les couleurs sont :
- a noir
- b rouge
- c vert
- d marron
- e blue
- f magenta
- g cyan
- h gris clair
- x couleur par défaut du shell pour le foreground et le background
Les majuscules en foreground mettent en gras. On a affaire ici aux couleurs standards ANSI.
L'affichage dépend tout de même des capacités du mode d'affichage dans lequel on est.
xterm ou xterm-color pour X sont très corrects et cons25 sous console.
L'ordre de la séquence pour la liste est :
- répertoire
- lien symbolique
- socket
- tube
- exécutable
- bloc spécial
- caractère spécial
- exécutable avec bit setuid
- exécutable avec bit setgid
- répertoire en sticky bit, en écriture pour tout le monde
- répertoire en écriture pour tout le monde, sans sticky bit
On peut donc avoir dans le fichier de configuration de son shell (.bashrc,.zshrc,.cshrc, ...).
export CLICOLOR=enable export LSCOLORS='cxgxhxhxbxhxhxbabacaca'

