Personalizando cores de saída BASH?

0

Como personalizo cores bash para saída de comando?

Por exemplo; Eu corro ls e quero que diretórios e arquivos tenham uma cor diferente. Como faço isso? Eu vejo que a distro está fazendo isso, mas não consigo encontrar nenhuma documentação sobre colorizing OUTPUT de outros comandos.

    
por user1529891 12.06.2012 / 14:49

3 respostas

1

Eu finalmente consegui uma resposta para essa pergunta que faz exatamente o que eu espero.

Para os interessados os detalhes; veja as páginas man terminfo e man termcap man. Esses recursos de terminal de layout de páginas de manual e variáveis de ambiente que você pode configurar, permitindo que você personalize cores para qualquer saída de comandos.

Um exemplo é ter páginas man coloridas:

man() {
    env LESS_TERMCAP_mb=$'\E[01;31m' \
    LESS_TERMCAP_md=$'\E[01;38;5;202m' \
    LESS_TERMCAP_me=$'\E[0m' \
    LESS_TERMCAP_se=$'\E[0m' \
    LESS_TERMCAP_so=$'\E[0;1;4;38;5;82m' \
    LESS_TERMCAP_ue=$'\E[0m' \
    LESS_TERMCAP_us=$'\E[04;38;5;51m' \
    man "$@"
}

As variáveis acima serão aplicadas ao ambiente de man quando executado, dando cores em uma página man . Eles também podem ser aplicados a outros comandos (supondo que esteja usando os campos terminfo de saída corretamente).

    
por 03.01.2014 / 13:05
5

Isso não é algo que sua concha faz. A cor é gerada por meio de caracteres especiais de controle. Seu emulador de terminal precisa convertê-los em cores reais.

Para ls , você precisa definir

  • LSCOLORS (FreeBSD, OS X, ..) ou
  • LS_COLORS (Linux).

Veja aqui um gerador LS_COLORS . Você pode então ligar

  • ls --color (Linux)
  • ls -G ou defina a variável de ambiente CLICOLOR (variantes BSD).

O resto depende do seu emulador de terminal. Por exemplo, meu iTerm2 é configurado assim:

    
por 12.06.2012 / 14:54
1

Talvez você possa verificar um wrapper, por exemplo. cw :

cw is a non-intrusive real-time ANSI color wrapper for common unix-based commands on GNU/linux. cw is designed to simulate the environment of the commands being executed, so that if a person types 'du', 'df', 'ping', etc. in their shell it will automatically color the output in real-time according to a definition file containing the color format desired. cw has support for wildcard match coloring, tokenized coloring, headers/footers, case scenario coloring, command line dependent definition coloring, and includes over 50 pre-made definition files.

    
por 12.06.2012 / 18:27