Como diferenciar o comando da saída usando cores

5

Eu tenho que diferenciar o comando da saída usando cores

como este

$ cat file-name (this should be in some color say like red)
some test in file OUTPUT (this output should be in some other color say like green) 

para que eu possa facilmente diferenciar o comando de sua saída no caso de comandos com saída grande

E eu tenho que fazer isso funcionar para todos os comandos digitados no terminal se possível, mesmo o comando não encontrado pode ser impresso em cores diferentes

    
por user310685 12.09.2014 / 09:00

3 respostas

4

Adicione isso ao seu ~/.bashrc :

        RED="\[3[0;31m\]"
     YELLOW="\[3[1;33m\]"
      GREEN="\[3[0;32m\]"
       BLUE="\[3[1;34m\]"
  LIGHT_RED="\[3[1;31m\]"
LIGHT_GREEN="\[3[1;32m\]"
       CYAN="\[3[0;36m\]"
 LIGHT_CYAN="\[3[1;36m\]"
      WHITE="\[3[1;37m\]"
 LIGHT_GRAY="\[3[0;37m\]"
 COLOR_NONE="\[\e[0m\]"

PS1="$PS1${LIGHT_RED}"
trap '[[ -t 1 ]] && tput sgr0' DEBUG

As variáveis de código de cor não são necessárias, mas simplificam as coisas. Altere o LIGHT_RED para outras cores para atender às suas necessidades. Efeito:

Você precisará fornecer .bashrc para que as alterações entrem em vigor:

. .bashrc

O LIGHT_RED não é realmente vermelho claro para mim por causa do perfil de cores que defini para o terminal.

Fontes:

  1. Como faço para parar uma cor bash shell PS1 para parar no final do comando?
  2. prompt de comando Bash com virtualenv e git branch (para as cores )
por muru 12.09.2014 / 12:49
0

você pode tentar isso

grep --color=always . file-name

O ponto é essencial neste caso, é a expressão regular para corresponder a qualquer caractere único.

    
por P.-H. Lin 12.09.2014 / 10:37
0

Você pode usar a sequência de escape ANSI para diferenciar o comando de sua saída, assim:

echo -e "\e[31m"; echo "ls -al"; echo -e "\e[0m"; echo -e "\e[32m"; ls -al --color=never ; echo -e "\e[0m";

Fonte: link

    
por Sylvain Pineau 12.09.2014 / 11:23