1.03.3基礎
check-statusの標準出力をhistory.logの末尾へ追加する。
history.logの既存内容は保持する。
適切なリダイレクトはどれか。
× 不正解
>>は標準出力先をappendモードで開くため、既存内容を残して新しい出力を末尾へ加える。
詳細解説
誤り
check-status > history.log既存内容を切り詰めるため履歴を保持しない。
誤り。>はhistory.logの古い内容を失わせ、履歴の蓄積にならない。
正しい
check-status >> history.log標準出力を書込用に末尾追記する。
正しい。>>がstdout用のappend接続を作り、check-statusの結果を既存末尾へ追加する。
誤り
check-status 2>> history.log標準エラーを追記し、標準出力を保存しない。
誤り。2>>は診断メッセージ用のstderrを追記し、要求された通常結果を保存しない。
誤り
check-status < history.logログをコマンドの標準入力へ渡す。
誤り。<はhistory.logをcheck-statusの入力として使い、出力を記録しない。
実際に確かめる
一時的な検証環境で実行できる例です。
tmp=$(mktemp); printf 'old\n' >"$tmp"; printf 'new\n' >>"$tmp"; cat "$tmp"; rm -f "$tmp"期待される結果
old
new理解のポイント
- >>はappend
- 既存内容を保持
- 2>>はstderr
確認時の注意
- 確認環境: Bash 5.x / 一時ファイル
基礎のおさらい
append flag
追記は書込位置を末尾へ設定して開くため、既存データを保持する。
並行書込
複数プロセスの大きな出力を同時追記すると、内容がまとまって並ぶ保証には別の同期が必要である。
問題IDKL-101-467
確認環境Bash 5.x / 一時ファイル
最終技術確認2026-08-13
誤り・権利侵害を報告