1.03.3基礎
probeの標準出力は端末へ表示する。
権限不足などの標準エラーだけを表示も保存もせず破棄する。
適切な指定はどれか。
× 不正解
2>/dev/nullは標準エラーだけを破棄用デバイスへ送り、標準出力の表示を維持する。
詳細解説
正しい
probe 2> /dev/nullstderrをデータを捨てるデバイスへ接続し、stdoutは変更しない。
正しい。probeのfd 2だけが/dev/nullへ向き、fd 1は継承した端末へvisibleな結果を出せる。
誤り
probe > /dev/nullstdoutを破棄し、stderrは端末へ表示する。
誤り。通常結果を捨てる一方で、抑止したいエラーは端末へ残る。
誤り
probe > /dev/null 2>&1stdoutとstderrの両方を破棄する。
誤り。最初にstdoutを破棄先へ向け、stderrもそこへ複製するため両方が見えない。
誤り
probe < /dev/null標準入力を空にするが、stderrの出力先は変えない。
誤り。入力を空にする指定であり、probeが生成するstderrの接続は変更しない。
実際に確かめる
一時的な検証環境で実行できる例です。
sh -c 'echo visible; echo hidden >&2' 2>/dev/null期待される結果
visible理解のポイント
- /dev/nullはsink
- 2>はstderr
- stdoutは維持
確認時の注意
- 確認環境: Linux / POSIX shell / /dev/null
基礎のおさらい
/dev/null
書き込んだデータを破棄し、読み取るとEOFを返すcharacter deviceである。
診断の抑止
エラーを常時捨てると障害原因を失うため、必要性と代替ログを検討する。
問題IDKL-101-482
確認環境Linux / POSIX shell / /dev/null
最終技術確認2026-08-13
誤り・権利侵害を報告