2013-05-13 3 views
0

есть способ сделать stdin и stderr видна в unix bash/zsh/whatever?Сделать видимым stdin и stderr

Возможно, вывести выход stderr в красный или что-то в этом роде.

Это всегда боль, если вы выясните, почему вы не можете разобрать результат команды x. Это часто сводит меня с ума. Тогда я делаю 2> вещь, но в этот момент 30 минут уже прошло ...

-Timo

ответ

2

Я обычно просто сделать

command | grep '.*' 

Я поставил $ GREP_COLORS в

ms=01;32:mc=01;32:sl=:cx=:fn=35:ln=32:bn=33:se=36 

, что означает, что stdout зеленый, а stderr остается черным (или белым).

+0

'grep '. *'' Излишне жадный/медленный: он будет grep что угодно (пустой или не пустой), но займет больше времени обработки, когда он пытается постепенно перейти к целой строке. Вместо этого используйте: 'grep '^'' (которые соответствуют чему угодно, также пустые строки) или 'grep .' (который не соответствует пустым строкам) –

+0

@OlivierDulac: Вы пробовали? 'grep' только окрашивает согласованную строку, поэтому'^'ничего не окрашивает. – choroba

+0

В любом случае, это выглядит как грязный хак ;-). Разве нет встроенной функции? – tuna

1

Вы можете использовать stderred для автомагический раскрасить stderr. Это общая библиотека, которая перехватывает определенные функции потока, поэтому работает с любой программой, которая использует эти функции для записи на ваш терминал.

Смежные вопросы