Как перенаправить вывод в файл журнала без тройника? нормальное перенаправление не работает

Почему бы не использовать тройник? потому что рендеринг вывода терминала замедляет работу приложения.

по какой-то причине это не работает:

application 2>&1 >"$logFile"

выход продолжает идти к терминалу..

1 ответ

Решение

Вы перенаправили stderr в stdout (терминал), то вы перенаправили stdout в файл. В заключение, вы не перенаправили stderr в файл:

  1. stderr -> stdout, stderr идет в терминал.
  2. stdout -> $logfile, stdout идет к $logfile,

Попробуйте использовать следующее:

application >"$logfile" 2>&1

Обратите внимание, что порядок имеет значение:

  1. stdout -> $logfile, stdout идет к $logfile,
  2. stderr -> stdout -> $logfile, stderr идет к stdout который так же, как $logfile,
Другие вопросы по тегам