CLICOLOR e LS_COLORS no bash

44

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

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:or=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 das cores e Eu quero mudar a cor do diretório para 'cor clara'. Mas fazer di como segue não afeta isso.

di = 04; 94

O interessante é que, mesmo depois de comentar LS_COLORS, posso ver a saída colorida contanto 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?
por prosseek 08.10.2010 / 17:51

3 respostas

50

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

  • Em FreeBSD e Mac OS X , ls mostra cores se o A variável de ambiente CLICOLOR está definida ou se -G é passado na linha de comando. As cores reais são configuradas por meio 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 , por ex. no Linux, ls mostra cores se --color for passado na linha de comando. As cores reais são configuradas através da variável de ambiente LS_COLORS , que pode ser definida com o % Comandodircolors (os padrões internos são usados se esta variável não estiver definida).

por 08.10.2010 / 20:06
10

What's it for CLICOLOR and LS_COLORS? Why coloring works without LS_COLORS?

CLICOLOR ativará ou desativará as cores. LS_COLORS não é obrigatório e permite personalizar as cores.

Note que em alguns sistemas operacionais (como MacOSX e FreeBSD), o valor é chamado 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 10 Un * xes diferentes. Em vez disso, modifico a cor do meu programa Terminal, que funciona da mesma forma na maioria dos hosts Unix.

    
por 08.10.2010 / 20:12
4

Se você quiser um script de wrapper para ls que funcione em todos os sistemas, abstraindo essas diferenças de cor, etc., consulte: link

    
por 21.03.2014 / 11:00