Linux・シェル4 択難易度 基礎

次を順に実行したとき、最後の cat の出力は?

echo a > out.txtecho b > out.txtcat out.txt

正答

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

解説

> はリダイレクト先のファイルを空にしてから書き込むため、2 回目の echo b > out.txt で先に書いた a は失われ、out.txt の中身は b だけになる。a と b の 2 行にしたいなら 2 回目を >> にして追記する。ログを毎回 > で書くと前回分が消えるという事故はこの動きによるもので、残したいファイルには >> を使う。cat は中身をそのまま出すので表示は b である。

参考: www.gnu.org

redirectstdout

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

Linux・シェルクイズへ