dircolors myfile define LS_COLORS para string vazia na tela

0

Eu tenho uma linha no meu .bashrc que define um esquema de cores:

eval $(dircolors colorfile) 

Isso funciona como esperado, definindo LS_COLORS com a string correta gerada a partir do 'colorfile'.

Quando eu uso a tela, o arquivo bashrc é lido novamente, mas perco minhas cores. Testando, eu corri dircolors colorfile na linha de comando na tela e obtive

LS_COLORS='';
export LS_COLORS

Eu posso contornar isso muito facilmente, mas estou curioso sobre o que está causando dircolors para agir de forma diferente na tela vs não. Eu pensei que apenas cegamente analisou o arquivo e produziu a string. Mas deve estar checando alguma variável env ou algo assim?

Alguma pista? Veja algumas informações adicionais: Meu .screenrc está em branco, estou usando o gnome-terminal. A versão do Dircolors é 8.25.

Eu usei o comando which para ter certeza de que não estava usando dois binários diferentes (eu não estava). Eu verifiquei o valor de $? depois de executar dircolors, foi 0 em ambos os casos.

    
por simplicio 30.01.2017 / 19:46

1 resposta

2

O valor de $TERM é diferente dentro da tela. Por conseguinte, o seu ficheiro colorfile deve provavelmente começar com

TERM screen*
TERM xterm*
    
por 30.01.2017 / 22:58