Cores no bash após passar por menos?

95

Quando tenho dircolors definidos, a vida é cheia de ... cor.

Quando eu canalizo ls a less para rolar, perco as cores.

Alguma sugestão?

    
por MathewC 16.06.2009 / 15:30

2 respostas

97

O mais provável é que seu ls tenha alias para ls --color=auto , o que indica ls para usar cores apenas quando sua saída for tty. Se você usar ls --color (que é moralmente equivalente a ls --color=always ), isso forçará a ativação das cores.

Você também pode alterar seu alias para fazer isso, mas eu não chamaria isso de uma boa ideia. Melhor criar um alias diferente com --color .

less precisa de -R também.

    
por 16.06.2009 / 15:38
51

Tente menos com a opção -R assim:

command | less -R

Isso funciona para mim em uma linha como esta:

ls -la | grep --color=always bash | less -r

E assim também:

ls --color | less -R

Mas você tem que ajustar a saída primária (a saída de ls neste caso) um pouco com o parâmetro --color.

    
por 16.06.2009 / 15:33