web-dev-qa-db-ja.com

ティーなしで出力をログファイルにリダイレクトする方法は?通常のリダイレクトが機能していません

ティーを使用しませんか?出力の端末レンダリングにより、アプリケーションの実行が遅くなるためです。

何らかの理由で、これは機能していません:

application 2>&1 >"$logFile"

出力はターミナルに行き続けます。

1
Aquarius Power

stderrstdout(ターミナル)にリダイレクトした後、stdoutをファイルにリダイレクトしました。結論として、stderrをファイルにリダイレクトしていません。

  1. stderr -> stdoutstderrは端末に移動します。
  2. stdout -> $logfilestdout$logfileに移動します。

以下を使用してみてください。

application >"$logfile" 2>&1

順序が重要であることに注意してください。

  1. stdout -> $logfilestdout$logfileに移動します。
  2. stderr -> stdout -> $logfilestderrは、$logfileと同じstdoutに移動します。
5
edwin