記載内容に誤りがあるため現在編集中です。今しばらくお待ちください。
↓編集中です
目的
- 新人の時にノートに書いた内容を記事にする。
- 案外知らない
/dev/null 2>&1
の意味を簡単に知る。
そもそも/dev/null 2>&1
って?
- コマンドから得られるあらゆる出力を捨てるものである。
-
何かしらのコマンド > /dev/null 2>&1
とすることにより「何かしらのコマンド」から得られる出力を捨てることができる。 - エラーをコンソールに出力したくない時や、敢えてコマンドの結果を隠す時に使用される。
/dev/null 2>&1
の意味は?
# | ① |② | ③ | ④ |
$ 何かしらのコマンド > /dev/null 2>&1
- 上記のように羅列した内容を区切って簡単に説明する。
① 文字通り何か知らのコマンドが入る。結果を出力したくないコマンドを書く。
② 何かしらのコマンドの結果を後ろの④の2>&1
に渡している。
③ 通常の出力を捨てる。
④ エラーの出力を通常の出力として扱うようにしている。これがあるとエラー出力は全て通常の出力になる。
- 紹介したコマンドは上記のような処理が行われている。
- 一文で書くと「①で結果が出力され、その結果が②によって④に渡され、④でエラー出力も通常の出力も通常出力として扱われ、③で通常の出力を捨てている。」