Как перенаправить как stdout, так и stderr в файл

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

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

Command1 >> log_file
Command2 >> log_file

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

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

Ответ 1

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

command1 >> log_file 2>&1

Если вам нужны разные файлы:

command1 >> log_file 2>> err_file

Ответ 2

Самый простой синтаксис для перенаправления обоих:

command &> logfile

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

command &>> logfile

Ответ 3

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

 command > file 2>&1

Ответ 4

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

command >>log_file 2>>log_file

Ответ 5

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