Unix Shell e cores

3

Eu preciso entender este snippet de código que encontrei no arquivo .profile

echo -en "\e[32;44m $(hostname) \e[m";echo -e "\e[m"
    
por Prashant Bhate 13.04.2011 / 12:27

2 respostas

10

Este snippet é usado para imprimir o nome do host do sistema com um fundo azul e uma fonte verde.

Para colorir o seu shell, você usa sequências especiais de escape de cores.

\e[ inicia o esquema de cores, 32; definirá a cor do primeiro plano como verde, 44 definirá a cor do plano de fundo como azul e m finalizará.

$(command) cria um novo shell, executa o comando e retorna o resultado (não o valor de retorno).

hostname retorna o nome do host do sistema atual.

\e[m redefinirá a cor da saída.

A partir do echo manpage:

   -n     do not output the trailing newline
   -e     enable interpretation of backslash escapes

IMHO seu snippet poderia ser simplificado para echo -e "\e[32;44m $(hostname) \e[m";

Veja o capítulo 6.1 Cores do HOWTO do Prompt BASH para mais detalhes.

    
por 13.04.2011 / 14:13
3

veja link para mais detalhes

    
por 20.04.2011 / 06:19