C言語関係掲示板

過去ログ

No.439.リダイレクトについて

[戻る] [ホームページ]
No.3113

リダイレクトについて
投稿者---やました(2002/10/24 16:26:13)


ソースを見ていたら以下のようなリダイレクトの使い方が出てきました。
...
FILE* pFile = popen( "cp a.txt _a.txt 2>&1 ", "r" );
...
>&は分かったのですが、2 と 1 がどのような意味があるのか分かりません。
誰かご教授いただけないでしょうか。

No.3125

Re:リダイレクトについて
投稿者---かずま(2002/10/24 21:50:49)


> FILE* pFile = popen( "cp a.txt _a.txt 2>&1 ", "r" );
> ...
> >&は分かったのですが、2 と 1 がどのような意味があるのか分かりません。

csh のマニュアルを見ていませんか。popen は sh を起動します。
sh の 2>&1 は、標準エラー出力(2)を、標準出力(1)の複製に切り換える
という意味です。

これで、cp コマンドが出すエラーメッセージを標準出力に吐き出すように
なりますから、それを popen の返す pFile で読むことが出来ますね。