Почему бы не использовать тройник? потому что рендеринг вывода терминала замедляет работу приложения.
по какой-то причине это не работает:
application 2>&1 >"$logFile"
выход продолжает поступать на терминал.
Вы перенаправили stderr
на stdout
(терминал), затем вы перенаправили stdout
в файл. В заключение, вы не перенаправили stderr
в файл:
stderr -> stdout
, stderr
идет в терминал. stdout -> $logfile
, stdout
переходит к $logfile
. Попробуйте использовать следующее:
application >"$logfile" 2>&1
Обратите внимание, порядок имеет значение:
stdout -> $logfile
, stdout
переходит к $logfile
. stderr -> stdout -> $logfile
, stderr
переходит к stdout
, который совпадает с $logfile
.