Linux・シェル4 択難易度 応用

次のコマンドで画面に表示されるものは?

( echo out; echo err >&2 ) 2>/dev/null

正答

  1. err
  2. out
  3. out と err の 2 行
  4. 何も表示されない

解説

echo err >&2 は err を標準エラー出力に書く。括弧の外の 2>/dev/null はこのサブシェル全体の標準エラー出力を /dev/null に捨てるので、err は表示されない。一方 echo out は標準出力に書かれ、何もリダイレクトされていないので画面に出る。/dev/null は書いたものを全て捨てる特殊ファイルで、不要なエラーメッセージを隠すときに使う。両方消したいなら >/dev/null 2>&1 と書く。

参考: www.gnu.org

redirectstderrdev-null

この問題を含む Linux・シェル のテストを制限時間つきで解く

Linux・シェルクイズへ