при компиляции некоторых проектов на терминале Linux я обычно получаю долгий вывод, состоящий из большой информации. Обычно этой информацией является МОНОХРОМ. Интересно, может ли удар быть изменен так или иначе, таким образом, во всех выводах или в некоторых определенных выводах (как от Make-файла, и т.д.) я могу получить различные цвета dependeing на, например:
make[1]: Leaving directory
или
g++ -DHAVE_CONFIG_H -I.
и т.д.
Спасибо
Конечно, просто используйте функции 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 .)
Вы можете сделать это переносимо, используя команду tput
и базу данных terminfo (5)
. {{ 1}} Например,
tput setf 5
со стандартным терминалом будет устанавливать фиолетовый цвет переднего плана (или что-то подобное; я дальтоник). tput setf 0
сбрасывает цвет переднего плана на значение по умолчанию.
Для получения дополнительной информации посмотрите terminfo
.