Как запустить команду, отобразить stderr на экране и в то же время сохранить stderr в файле

#bash #stderr #io-redirection

#bash #stderr #перенаправление ввода-вывода

Вопрос:

Я хочу запустить команду, показать stderr на экране и в то же время сохранить stderr в файле.

Ответ №1:

В bash (или zsh) вы можете сделать это, перенаправив stderr на tee с помощью подстановки процесса:

 somecommand 2> >(tee errors.log)
 

Ответ №2:

Эта команда отображает stdout и stderr на экране и сохраняет stderr в /tmp/errors:

 $ ( ls file_do_not_exist /bin/true 2>amp;1 1>amp;3 | tee /tmp/errors 1>amp;2; ) 3>amp;1