Eu sei que uma pergunta semelhante foi feita em:
embora eu realmente não tenha entendido a resposta e não conseguisse fazê-la funcionar.
No entanto, tentei algo diferente. Decidi ler a página de manual ls
e ela menciona diferentes variáveis de ambiente que podem ser definidas ao lidar com o ls
comando. Se alguém escolher a -G
opção, será necessário observar as CLICOLOR
variáveis de ambiente. eu fiz equeum vincula você à documentação da LSCOLORS
variável de ambiente. Eu fui até ele e menciona:
"O valor desta variável descreve qual cor usar para qual atributo quando as cores estão habilitadas com CLICOLOR. Esta string é uma concatenação de pares do formato fb, onde f é a cor de primeiro plano eb é a cor de fundo."
Também menciona que o valor padrão de LSCOLORS é "exfxcxdxbxegedabagacad" e que cada parte especifica a cor de alguma coisa específica no comando ls. Por exemplo, o primeiro par ex no exemplo especifica a cor dos diretórios. o segundo fx a cor dos links simbólicos etc... e significa azul ex significa "primeiro plano" padrão.
1) Primeiro, o que significa isto: "quando as cores são habilitadas com CLICOLOR"?
2) O que faz"primeiro plano"significar?
Quais devem ser as variáveis de ambiente para que o ls
comando colora a saída da maneira que eu desejar?
Eu também tentei:
ls --color
Mas isso me gerou o seguinte erro:
ls: illegal option -- - usage: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [file ...]
O mesmo erro aconteceu quando eu fiz ls --color=auto
: só isso também gera um erro. Não tenho ideia do porquê e não tenho certeza se foi devido ao iTerm2 ou ao OS X ou por que isso aconteceu. Parece que funciona em outros sistemas ...
Responder1
Ao tentar responder à minha própria pergunta, tentei algumas coisas diferentes e tudo funcionou através de experiências.
1) Suponho que "habilitar CLICOLOR" significa defini-lo como 1 (ou seja, verdadeiro) porque assim que defini essa variável como 1, o LSCOLOR começou a funcionar.
2) Neste contexto, “Primeiro plano” significa o fundo realçando que será aplicado. Por exemplo, bc para o primeiro par significa que os caracteres dos diretórios serão coloridos em vermelho, enquanto o fundo/destaque será verde. Por exemplo, se o seu ambiente var for como: export LSCOLORS="bCfxcxdxbxegedabagacad"
então fazer ls mostra algo assim:
Obviamente, para que isso funcione, o comando ls deve ter o alias de ls -G (ou apenas fazer ls -G toda vez) e você deve ter as seguintes linhas em seu .bashrc ou qualquer arquivo shell rc que você usar:
export CLICOLOR=1
export LSCOLORS="gxfxcxdxbxegedabagacad"
Agora você pode alterar o LSCOLORS da maneira que desejar, conforme especificado pelo arquivo man ls.
Pode haver diferentes maneiras de fazer isso funcionar, mas foi assim que funcionou para mim no Unix no OS X Mavericks no iTerm2.
Responder2
Substitua --color
por -G
ao executar ls
.