it-swarm.it

CLICOLOR e LS_COLORS in bash

Ho la seguente configurazione in .bashrc per colorare gli elenchi.

 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: o = 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: * barattolo = 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:. '; 

Questo sito mostra il codice per i colori e voglio cambiare il colore della directory in `colore chiaro '. Ma fare di come segue non lo influenza.

di = 04; 94

La cosa interessante è che anche dopo aver commentato LS_COLORS, posso vedere un output colorato fintanto che ho CLICOLOR = 1.

  • Cosa devo fare per rendere il colore della directory in Azzurro (94)?
  • Che cos'è CLICOLOR e LS_COLORS? Perché la colorazione funziona senza LS_COLORS?
51
prosseek

Esistono diverse implementazioni di colore per ls e ne hai confuse alcune.

  • On FreeBSD e Mac OS X , ls mostra i colori se la variabile di ambiente CLICOLOR è impostata o se -G viene passato dalla riga di comando. I colori effettivi vengono configurati tramite la variabile di ambiente LSCOLORS (i valori predefiniti integrati vengono utilizzati se questa variabile non è impostata). Per mostrare le directory in azzurro, usare

    export LSCOLORS=Exfxcxdxbxegedabagacad
    
  • Con GNU ls , ad es. su Linux, ls mostra i colori se --color viene passato dalla riga di comando. I colori effettivi sono configurati tramite LS_COLORS variabile di ambiente, che può essere impostata con il comando dircolors (le impostazioni predefinite integrate vengono utilizzate se questa variabile non è impostata).

Che cos'è CLICOLOR e LS_COLORS? Perché la colorazione funziona senza LS_COLORS?

CLICOLOR attiva o disattiva i colori. LS_COLORS non è richiesto e ti consente di personalizzare i colori.

Nota che su alcuni sistemi operativi (come MacOSX e FreeBSD), il valore è chiamato LSCOLORS, non LS_COLORS.

Evito di impostare il colore usando LS_COLORS, perché quindi devo applicare lo stesso schema di colori su un centinaio di computer diversi e 10 Un * x diversi. Invece, modifico il colore nel mio programma Terminal, che funziona allo stesso modo sulla maggior parte degli host Unix.

11

Se vuoi uno script wrapper per ls che funzioni su tutti i sistemi, eliminando queste differenze di colore ecc. Vedi: http://www.pixelbeat.org/scripts/l

4
Pádraig Brady