Как перенаправить stdout и stderr в файл [дубликат]


этот вопрос уже есть ответ здесь:

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

Я использую следующие

Command1 >> log_file
Command2 >> log_file

Это только отправляет стандарт выход, а не стандартная ошибка, которая появляется на терминале.

могу ли я регистрировать как stderr, так и stdout, зарегистрированные в файле?

5 252

5 ответов:

Если вы хотите войти в тот же файл:

command1 >> log_file 2>&1

Если вы хотите, чтобы разные файлы:

command1 >> log_file 2>> err_file

самый простой синтаксис для переадресации как это:

command &> logfile

Если вы хотите добавить в файл вместо перезаписи:

command &>> logfile

вы можете сделать это так 2 > &1:

 command > file 2>&1

использование:

command >>log_file 2>>log_file

пожалуйста, используйте command 2>file Здесь 2 обозначает дескриптор файла stderr. Вы также можете использовать 1 вместо 2, Так что stdout перенаправляется в "файл"