Altere a cor do texto do terminal apenas para o próximo comando

1

Então, quando eu me vejo compilando muito (do terminal) eu acho difícil distinguir entre os resultados atuais da compilação e os antigos, então eu queria saber se há algum texto que eu possa inserir no comando para tornar o texto de saída desse comando uma cor diferente (como verde, vermelho ou azul).

Por exemplo, em vez de executar apenas

gcc something.c

Eu quero executar algo como

gcc something.c textcolor=green

e a cor da saída seria verde, mas para a próxima, voltaria para a cor padrão.

    
por Cosmin Lungu 03.09.2015 / 23:58

2 respostas

3

Você pode fazer isso usando escapes de terminal; tput é útil.

tput setaf 2; gcc something.c; tput sgr0 # 2 is color code for green

Isso irá interagir de maneira imprevisível com qualquer outra coisa que altere as cores do console, incluindo os makefiles produzidos por algumas ferramentas.

    
por 04.09.2015 / 00:05
0

Eu recomendo que você configure um prompt que seja visualmente distinto. O meu é algo ao longo destas linhas (é em negrito, itálico e uma cor dourada) (requer suporte de 256 cores)):

PS1=$'\[\E[0;1;3;38;5;136m\]blahblah$ \[\E[m\]'

Além disso, quando estou reexecutando um comando que produziu muitos resultados e também se espera que a nova execução produza muito, normalmente pressiono vários Enters solitários no prompt antes de executá-lo novamente. É muito mais fácil localizar esse "intervalo" ao olhar para trás.

    
por 13.09.2015 / 00:29