Я использую stderred и нашел хорошее решение. Как примечания readme :
Stderred перехватывает write () и семейство потоковых функций (fwrite, fprintf, error ...) из libc, чтобы раскрасить весь вывод stderr, который идет на терминал, что делает его отличным от stdout. В основном он переносит текст, который идет в файл с дескриптором «2», с соответствующими управляющими кодами ANSI, делающими текст красным.
Он реализован в виде разделяемой библиотеки и не требует перекомпиляции существующих двоичных файлов благодаря функции предварительной загрузки / вставки динамических компоновщиков.
Он поддерживается в Linux (с LD_PRELOAD), FreeBSD (также LD_PRELOAD) и OSX (с DYLD_INSERT_LIBRARIES).
Компиляция проста, но вам нужно собрать ее из исходного кода, следуя инструкциям с сайта Github :
sudo apt-get install build-essential git cmake
потом
git clone git://github.com/sickill/stderred.git
cd stderred
потом
make
Наиболее важной частью является добавление соответствующей строки в ваш .bashrc; вы должны указать ссылку на libstderred.soфайл в каталоге сборки; Вы должны использовать абсолютный путь к каталогу сборки (/ home / mike / src / stderred / build). Я добавляю следующее к моему .bashrc:
export LD_PRELOAD="/home/mike/src/stderred/build/libstderred.so${LD_PRELOAD:+:$LD_PRELOAD}"
Очевидно, что если вы больше не хотите его использовать, удалите указанную выше строку .bashrcи перезапустите терминал.
Результаты, проверенные на несуществующих файлах (очевидно, что они не будут работать при sudoиспользовании, так как пользователь .bashrcне будет прочитан, когда установлена другая среда):
(Кстати , это не поворачивает герцог @ Nukem быстрых красный , как было красным уже )
