Получить вывод цвета в bash - PullRequest
14 голосов
/ 13 марта 2010

при компиляции некоторых проектов на терминале linux я обычно получаю длинный вывод, состоящий из большого количества информации. Обычно эта информация МОНОХРОМА. Интересно, можно ли как-то изменить bash, поэтому во всех выходных данных или в некоторых конкретных выходных данных (например, из Makefile и т. Д.) Я могу получить разные цвета в зависимости, например:

make[1]: Leaving directory 

или

g++ -DHAVE_CONFIG_H     -I. 

и т.д.

Спасибо

Ответы [ 5 ]

14 голосов
/ 28 апреля 2011

Я обнаружил, что в bash tput setf не работает. Я нашел эти команды для bash, которые работают хорошо

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
10 голосов
/ 13 марта 2010

Конечно, просто используйте функции Bash, например, скажем так:

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

(Первоначально через Выделите Предупреждения в Make .)

5 голосов
/ 13 марта 2010

Вы можете сделать это с помощью команды tput и базы данных terminfo(5). Например,

tput setf 5

с терминалом в стандартной комплектации, установит цвет переднего плана на фиолетовый (или что-то в этом роде; я дальтоник). tput setf 0 сбрасывает цвет переднего плана к значению по умолчанию.

Для получения дополнительной информации посмотрите terminfo.

1 голос
/ 19 ноября 2014

Установка и использование colormake - еще один простой вариант.

 sudo apt-get install colormake
0 голосов
/ 03 декабря 2012

Похоже, вам нужен цветной вывод из make (1). В этом случае я бы порекомендовал патчи для GNU Make из http://git.goodpoint.de/?p=make.git;a=shortlog;h=refs/heads/color-v5.1 описано на ML: http://old.nabble.com/-rfc--Colorized-output-for-GNU-make--td32547742.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...