Linux: crie um novo tipo em $ LS_COLORS

0

Minha distro é RHEL. A variável LS_COLORS é composta de coisas como rs, di, * .tzo, etc. Eu queria saber como eu poderia adicionar um novo tipo de extensão.

Da mesma forma, em que ordem as extensões são processadas. Se di está definido para azul, e eu faço uma extensão chamada say zz que faz lógica para descobrir o que significa ser um tipo "zz", um vai atrás do outro?

    
por Excal 13.07.2018 / 22:08

2 respostas

1

Você deve usar dircolors para ajudá-lo a personalizar as cores usadas por ls .

dircolors -p > dircolors.txt

exibe o banco de dados de cores em um formato mais ou menos legível por humanos e o armazena em dircolors.txt , que você pode editar para ajustar as configurações. Você verá uma série de configurações de cor para "tipos básicos de arquivo", que correspondem a di etc .; Você pode alterar as cores associadas a elas, mas não pode adicionar seus próprios tipos. Você também verá extensões de arquivos (começando com . ) e as cores correspondentes. você pode adicionar suas próprias extensões aqui. Quando terminar, corra

dircolors dircolors.txt

para produzir o valor LS_COLORS correspondente, que você deve definir nos scripts de inicialização de seu shell. A ordem das extensões realmente não importa, pois você deve ter apenas uma configuração de cor por extensão.

Você também pode armazenar as definições de cor diretamente, se preferir, e executar

eval $(dircolors -b /path/to/dircolors.txt)

nos seus scripts de inicialização. (Se você usar essa abordagem, talvez faça mais sentido armazenar as cores em ~/.dircolors .)

    
por 13.07.2018 / 23:00
0

Para expandir meu comentário acima, crie um arquivo como /etc/DIR_COLORS em seu diretório inicial, talvez ~/.dir_color , e, em seu arquivo .bashrc (supondo que esteja usando o bash), você pode adicionar:

if [[ -e "${HOME}/.dir_colors" ]]; then
    eval "$(dircolors -b ${HOME}/.dir_colors)"
fi

Isso definirá LS_COLORS com base na configuração em .dir_colors . Você pode ajustar ~/.dir_colors como quiser. Se você alterá-lo, precisará renomear seu .bashrc :

. ~/.bashrc
    
por 13.07.2018 / 23:00