2016-09-29 1 views
0

Это действительно основной вопрос, но я не мог найти его в основном в существующем вопросе, поэтому, пожалуйста, отметьте это, если на него ответили раньше.Как я могу передать вывод bash в файл и на терминал одновременно?

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

Более конкретно, у меня есть этот .sh файл:

nslookup MadeUpName 
nslookup MadeUpName2 
nslookup MadeUpName3 

, и я делаю это:

. ./myScript.sh 2>errors.txt 

Это работает для сообщений об ошибках трубной errors.txt, но теперь Я не вижу ошибок в терминале, когда они происходят.

+1

'ls | tee file'? –

ответ

0

Вы можете использовать tee для отображения ошибки и записи в файл ошибок:

myScript.sh 2> >(tee error.log; exit) 

Если вы хотите получить дополнительную информацию об этой технике, см this page.

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