同時に複数のリダイレクトを使用している場合、順序を変更すると違いが発生しますか?
コマンドの意味を理解する方法は?リダイレクト用のリンクチャネルは、リダイレクトを左から右に、または右から左に読み取るように構成されていますか?
例えば
command 2>&1 > somefile
command > somefile 2>&1
ありがとうございます!
ベストアンサー1
はい、順序が異なるため、左から右に読む必要があります。
command 2>&1 >somefile
stderr(2) を stdout(ターミナル) の現在の宛先にリダイレクトします。次に、stdoutを.soに変更してsomefile
stderrが端末に移動し、stdoutがファイルに移動します。
command >somefile 2>&1
stdoutをsomefile
stdout(ファイル)と同じ宛先にリダイレクトし、次にstderrをstdout(ファイル)にリダイレクトすることを意味します。したがって、stderrとstdoutはどちらもsomefile
。
これの説明は次のとおりです。Bashマニュアルセクション3.6:リダイレクト。