2010-03-13 21 views
13

al compilar algunos proyectos en el terminal de Linux, obtengo generalmente un resultado largo que consiste en mucha información. Por lo general, esta información es MONOCROMO. Me pregunto si fiesta se puede modificar de alguna manera, por lo que en todas las salidas o en algunos productos específicos (como de Makefile, etc) puedo conseguir diferentes colores dependeing en, por ejemplo:Obtener salida de color en bash

make[1]: Leaving directory 

o

g++ -DHAVE_CONFIG_H  -I. 

etc.

Gracias

Respuesta

10

Claro, sólo tiene que utilizar las funciones del golpe, como, por ejemplo ésta:

make() 
{ 
    pathpat="(/[^/]*)+:[0-9]+" 
    ccred=$(echo -e "\033[0;31m") 
    ccyellow=$(echo -e "\033[0;33m") 
    ccend=$(echo -e "\033[0m") 
    /usr/bin/make "[email protected]" 2>&1 | sed -E -e "/[Ee]rror[: ]/ s%$pathpat%$ccred&$ccend%g" -e "/[Ww]arning[: ]/ s%$pathpat%$ccyellow&$ccend%g" 
    return ${PIPESTATUS[0]} 
} 

(Originalmente través Highlight Warnings in Make.)

+0

Las siguientes respuestas son buenos y ordenada, pero este es el único que funciona en Solaris xterm –

5

Usted puede hacer esto de forma portátil utilizando el comando tput y la base de datos terminfo(5). Por ejemplo,

tput setf 5 

con el terminal de serie a cabo, será establecer el color de primer plano a púrpura (o algo por el estilo, yo soy daltónico). tput setf 0 restablece el color de primer plano al predeterminado.

Para obtener más información, busque terminfo.

+0

:-P muy divertidos muchas gracias – flow

14

Encontré que en bash tput setf no funciona. Encontré estos comandos para bash que están funcionando bien

handy tput commands 

tput bold - Bold effect 
tput rev - Display inverse colors 
tput sgr0 - Reset everything 
tput setaf {CODE}- Set foreground color, see color {CODE} below 
tput setab {CODE}- Set background color, see color {CODE} below 
Colors {code} code for tput command 

Color {code} Color 
0 Black 
1 Red 
2 Green 
3 Yellow 
4 Blue 
5 Magenta 
6 Cyan 
7 White 
+0

'tput' es un pequeño gran herramienta con muchos otros comandos [] (http://stackoverflow.com/a/20983251/24874) para controlar el estado del terminal y los contenidos en las secuencias de comandos del shell. –

1

instalación y el uso colormake es otra opción sencilla.

sudo apt-get install colormake