foo.exe > out.txt 2>&1
stdout と stderr の両方をファイルにリダイレクトします。
ただしfoo.exe 2>&1 > out.txt
、stdout をファイルにリダイレクトし、stderr をコンソールにリダイレクトします。なぜ彼らは異なる振る舞いをするのですか?どちらも同じことを言っているのではありませんか (stderr を stdout に送信し、stdout をファイルに送信します)。
foo.exe > out.txt 2>&1
stdout と stderr の両方をファイルにリダイレクトします。
ただしfoo.exe 2>&1 > out.txt
、stdout をファイルにリダイレクトし、stderr をコンソールにリダイレクトします。なぜ彼らは異なる振る舞いをするのですか?どちらも同じことを言っているのではありませんか (stderr を stdout に送信し、stdout をファイルに送信します)。