1

次のコマンドを使用して、DOS stdout と stderr をログファイルにパイプします。

run.exe  1> mylog.log 2>&1

私の同僚は、次の使用を主張しています。

run.exe  > mylog.log 2>1

どちらが正しい?


これは Windows 7 上にあります。

4

1 に答える 1

2

あなたのは正しく、同僚のは部分的に正しいです。

Windows シェルのリダイレクション オペレータは、基本的に Unix シェルのリダイレクション オペレータと同じです。>(リダイレクト出力)演算子のデフォルトのファイルハンドルは1stdout であるため、例のように指定する必要はありませんが、問題はありません。あるファイル ハンドルの出力を別のファイル ハンドルにアタッチするようにシェルに指示する場合 (たとえば、stderr を stdout と同じハンドルに接続する) >&、.

ここでの同僚の例では、stdout を に正しくリダイレ​​クトしmylog.logますが、stderr は という名前のファイルに入ります1

于 2013-08-14T03:44:22.090 に答える