J'ai la configuration suivante dans .bashrc pour la coloration des listes.
export CLICOLOR = 1 export LS_COLORS = 'no = 00: fi = 00: di = 00; 34: ln = 01; 36: pi = 40; 33: so = 01; 35: do = 01; 35: bd = 40; 33; 01: cd = 40; 33; 01: ou = 40; 31; 01: ex = 01; 32: *. tar = 01; 31: *. tgz = 01; 31: *. Arj = 01; 31: *. Taz = 01; 31: *. Lzh = 01; 31: *. Zip = 01; 31: *. Z = 01; 31: *. Z = 01; 31: * .gz = 01; 31: *. bz2 = 01; 31: *. deb = 01; 31: *. rpm = 01; 31: *. jar = 01; 31: *. jpg = 01; 35: *. jpeg = 01; 35: *. gif = 01; 35: *. bmp = 01; 35: *. pbm = 01; 35: *. pgm = 01; 35: *. ppm = 01; 35: *. tga = 01; 35: *. Xbm = 01; 35: *. Xpm = 01; 35: *. Tif = 01; 35: *. Tiff = 01; 35: *. Png = 01; 35: *. Mov = 01; 35: *. Mpg = 01; 35: *. Mpeg = 01; 35: *. Avi = 01; 35: *. Fli = 01; 35: *. Gl = 01; 35: *. Dl = 01; 35: * .xcf = 01; 35: *. xwd = 01; 35: *. ogg = 01; 35: *. mp3 = 01; 35: *. wav = 01; 35: ';
Ce site montre le code des couleurs, et je veux changer la couleur du répertoire en "couleur claire". Mais faire di comme suit ne l'affecte pas.
di = 04; 94
La chose intéressante est que même après avoir commenté LS_COLORS, je peux voir une sortie colorée tant que j'ai CLICOLOR = 1.
Il existe plusieurs implémentations différentes de la couleur pour ls, et vous en avez regroupé certaines.
Sur FreeBSD et Mac OS X , ls
affiche les couleurs si la variable d'environnement CLICOLOR
est définie ou si -G
est transmis sur la ligne de commande. Les couleurs réelles sont configurées via la variable d'environnement LSCOLORS
(les valeurs par défaut intégrées sont utilisées si cette variable n'est pas définie). Pour afficher les répertoires en bleu clair, utilisez
export LSCOLORS=Exfxcxdxbxegedabagacad
Avec GNU ls , par ex. sous Linux, ls
affiche les couleurs si --color
est transmis sur la ligne de commande. Les couleurs réelles sont configurées via le LS_COLORS
variable d'environnement, qui peut être définie avec la commande dircolors
(les valeurs par défaut intégrées sont utilisées si cette variable n'est pas définie).
Qu'est-ce que c'est pour CLICOLOR et LS_COLORS? Pourquoi la coloration fonctionne sans LS_COLORS?
CLICOLOR
active ou désactive les couleurs. LS_COLORS
n'est pas requis et vous permettra de personnaliser les couleurs.
Notez que sur certains systèmes d'exploitation (comme MacOSX et FreeBSD), la valeur est nommée LSCOLORS
, pas LS_COLORS
.
J'évite de définir la couleur en utilisant LS_COLORS, car alors je dois appliquer ce même schéma de couleurs sur une centaine d'ordinateurs différents et 10 Un * x différents. Au lieu de cela, je modifie la couleur dans mon programme Terminal, qui fonctionne de la même manière sur la plupart des hôtes Unix.
Si vous voulez un script wrapper pour ls qui fonctionne sur tous les systèmes, en supprimant ces différences de couleur, etc. voir: http://www.pixelbeat.org/scripts/l