シェルプログラミング - 「/dev/null 2>&1」って何?

よく見る記述だとはおもうのですが…

標準出力(1)と標準エラー出力(2)を無効にしているように思えるけど、何がやりたいのかわからなかった。

使いどころとしては、コマンドが失敗してもエラーを表示しないで、「独自にエラー」を出力したい場合に使うようなイメージです。

# -f : --force エラーメッセージを表示しない 
# > /dev/null 2>&1 : 標準出力、標準エラー出力を捨てる 
# -f付けると削除に失敗しても$?=0になるので、結果を取得したい場合は 
# 以下のようには記述しするのはダメかな 
# rm -f hogehoge.txt > /dev/null 2>&1 

rm hogehoge.txt > /dev/null 2>&1

# この後、「$?」で結果を判断して任意のメッセージを出力します。


この記事が気に入ったらサポートをしてみませんか?