
No.1ベストアンサー
- 回答日時:
Unix ではファイル記述子というのがあって、番号、多くの場合 0, 1, 2 が使われます。
0は入力、1は普通のメッセージ出力、2はエラーメッセージの出力というように使い分けされています。さて、ご質問ですが、command > /dev/null という部分は、command の普通のメッセージ(ファイル記述子1番)を /dev/null というファイル(このファイルは特殊で、ここに出力された内容は全て捨てられます)に出力されます。で、残る "2>&1" という部分ですが、これは2番のファイル記述子を1番というファイル記述子にする、という意味になります。
従いまして、"command > /dev/null 2>&1" とすることで command からの全てのメッセージは(/dev/nullに)捨てられる、つまり、エラーがあろうがなかろうが出力されるメッセージは何もないことになります。
No.2
- 回答日時:
シェルの種類が不明ですが、少なくともbashの場合、
>&
これで出力ファイル・ディスクリプタ(記述子)の複製を行います。
したがって、
2>&1
この場合、ファイル・ディスクリプタ2に、ファイル・ディスクリプタ1の複製を使用するという意味になります。
これらはbashのmanコマンドで詳しく解説されています。
リダイレクトは左側から評価されるので、最初に
command > /dev/null
が評価され、標準出力が/dev/nullを指すようになります。
続いて、
2>&1
が評価されて、標準エラー出力が標準出力の複製となります。このとき、最初の評価で標準出力は/dev/nullを指しているので、結局、標準エラー出力として与えられる「標準出力の複製」は/dev/nullとなります。
なんだか分かりにくいですね。説明が下手ですみません。。。
参考URL:http://www.linux.or.jp/JM/html/GNU_bash/man1/bas …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンド(例えばls)の出力結果...
-
シェルコマンドの 2>&1 とはど...
-
フォルダにあるPDF情報の抽出(VBA)
-
pcap形式データをテキストへ抽出
-
【ExcelVBA】UTF-8(BOM無)でC...
-
MS-Word で作成した表をLatexに...
-
AccessVBA複数レポート条件毎に...
-
stdout/stderrを同一ファイルに...
-
ファイル出力の場所を指定
-
エクセルVBAにてテキスト出力が...
-
printfだと出力されるのにfprin...
-
C言語でプログラムを作成しなさ...
-
fortranのプログラムについて ...
-
PDFのプロパティの情報を抽出し...
-
大量のHTMLデータのテキスト、...
-
BitBltについて。
-
CreateProcess関数と実行後の戻...
-
Acccess レポートをグループ別...
-
C言語でのppmファイル作成
-
スレッドセーフでないAPIをマル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Acccess レポートをグループ別...
-
コマンド(例えばls)の出力結果...
-
【ExcelVBA】UTF-8(BOM無)でC...
-
VC++でUTF-8のファイルを出力し...
-
ファイル形式またはファイル拡...
-
ファイルの文字コードをUTF-8に...
-
ファイル出力の場所を指定
-
ファイルI/O完了待ち
-
大量のHTMLデータのテキスト、...
-
シェルコマンドの 2>&1 とはど...
-
Wordマクロで指定したフォルダ...
-
gccによって、BOM付きのUTF-8で...
-
外国語とCSVについて
-
AccessVBA複数レポート条件毎に...
-
pcap形式データをテキストへ抽出
-
重複チェックプログラム
-
テキストファイルに改行コード...
-
BitBltについて。
-
C++ fprintf_sの使い方がわからん
-
半年以上前のファイルの時刻表示
おすすめ情報