it-swarm-pt.com

CLICOLOR e LS_COLORS no bash

Eu tenho a seguinte configuração no .bashrc para colorir as listagens.

 exportar CLICOLOR = 1 
 exportar 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: '; 

Este site mostra o código para cores, e eu quero mudar a cor do diretório para `light light '. Mas fazer di da seguinte maneira não afeta isso.

di = 04; 94

O interessante é que, mesmo depois de comentar LS_COLORS, posso ver a saída colorida desde que eu tenha CLICOLOR = 1.

  • O que devo fazer para tornar a cor do diretório em azul claro (94)?
  • O que é isso para CLICOLOR e LS_COLORS? Por que colorir funciona sem LS_COLORS?
51
prosseek

Existem várias implementações diferentes de cores para ls, e você fundiu algumas delas.

  • Em FreeBSD e Mac OS X , ls mostra cores se a variável de ambiente CLICOLOR estiver definida ou se -G é passado na linha de comando. As cores reais são configuradas através da variável de ambiente LSCOLORS (os padrões internos são usados ​​se essa variável não estiver configurada). Para mostrar diretórios em azul claro, use

    export LSCOLORS=Exfxcxdxbxegedabagacad
    
  • Com GNU ls , p. no Linux, ls mostra cores se --color é passado na linha de comando. As cores reais são configuradas através do LS_COLORS variável de ambiente, que pode ser configurada com o comando dircolors (os padrões internos são usados ​​se essa variável não estiver configurada).

54

O que é isso para CLICOLOR e LS_COLORS? Por que colorir funciona sem LS_COLORS?

CLICOLOR liga ou desliga as cores. LS_COLORS não é necessário e permitirá que você personalize as cores.

Observe que em alguns sistemas operacionais (como MacOSX e FreeBSD), o valor é nomeado LSCOLORS, não LS_COLORS.

Evito definir a cor usando LS_COLORS, porque preciso aplicar o mesmo esquema de cores em cem computadores diferentes e em 10 Un * xes diferentes. Em vez disso, modifico a cor no meu programa Terminal, que funciona da mesma forma na maioria dos hosts Unix.

11
Stefan Lasiewski

Se você deseja um script de wrapper para ls que funcione em todos os sistemas, abstraindo essas diferenças de cores etc., consulte: http://www.pixelbeat.org/scripts/l

4
Pádraig Brady