標準出力や標準エラーの内容を捨てる - Linux シェルスクリプトプログラミング

PROGRAM


標準出力や標準エラーの内容を捨てる

Linux シェルスクリプト /bin/sh で何かを処理しているときに、実行したコマンドの結果を画面に表示させたくない場合があります。

画面に表示されるのは、普通のメッセージとして表示される「標準出力」の他にも、エラーが発生したことを伝える「標準エラー出力」の 2 つの系統があります。

 

標準出力だけを捨てれば良いのであれば、次のようにして、標準出力の出力先を、画面から "/dev/null" に切り替えてあげます。

find *.h > /dev/null

このようにすることで、コマンド "find *.h" の結果表示を捨てることができました。

ここで出力先として指定した "/dev/null" というのは、どこにも出力しないという意味合いになります。

 

さて、これだけだと何らかのエラーで標準エラーに結果が出力された場合、それは画面に表示されてしまいます。

標準エラーの内容も画面に表示させないためには、標準エラーを標準出力に回すという意味の "2>&1" という記号を後ろに付けます。

find *.h > /dev/null 2>&1

これで、標準出力された内容も、標準エラー出力されたものも、捨てられるようになりました。


[ もどる ]