GNU/Linux >> Linux の 問題 >  >> Linux

StderrとStdoutを別のファイルにリダイレクトし、ターミナルに表示するにはどうすればよいですか?

ターミナルでコマンドの出力をリダイレクトがないかのように表示したい。
また、stderrをerr.logにリダイレクトし、stdoutをstdout.logにリダイレクトする必要があります。

ターミナルに表示されているものの正確なコピー、つまりエラーが発生したときに、別のファイルstdouterr.logに印刷しておくと便利です。

承認された回答:

teeを使用する 次のようにコマンドを実行します:

(cmd | tee stdout.log) 3>&1 1>&2 2>&3 | tee stderr.log

3>&1 1>&2 2>&3 teeはstdoutしか受け入れられないため、stderrとstdoutを交換する方法です。

teeを使用したより高度なリダイレクトについては、Unixteeコマンドをご覧ください。 。


Linux
  1. 出力をファイルと標準出力にリダイレクトする方法

  2. スクリプトの同じ行で stderr と stdout を別のファイルにリダイレクトする方法は?

  3. シェル:stdout を /dev/null にリダイレクトし、stderr を stdout にリダイレクトします

  1. Linuxで出力をファイルとStdoutにリダイレクトする方法

  2. StderrとStdoutを異なる色で印刷するようにシェルを構成しますか?

  3. コマンド出力をファイルと端末にリダイレクト

  1. なぜ(そしてどのように)バイナリファイルでCatを使用したのですか?

  2. Linuxでプロセスが別のプロセスのstdoutとstderrを傍受するにはどうすればよいですか?

  3. XTerm または Konsole で stdout と stderr の出力を異なる色にすることはできますか?