105.2基礎
backupが非0で終了した場合だけnotify_failureを実行する。
適切なコマンドリストはどれか。
× 不正解
ORリストの||は左側が失敗した場合だけ右側を実行する。簡単なエラーハンドリングに使える。
詳細解説
誤り
backup && notify_failurebackupが成功した場合に通知を実行する。
誤り。&&の右辺はbackupが0で成功した場合に実行され、失敗通知という意味と反対になる。
誤り
backup ; notify_failure成功・失敗に関係なく通知を実行する。
誤り。;はbackupの終了状態を条件に使わないため、正常終了時にも失敗通知を送る。
誤り
backup & notify_failurebackupを非同期起動し、その成否を待たず通知する。
誤り。&はbackupを非同期にし、通知開始時点ではbackupの成否がまだ決まっていない可能性がある。
正しい
backup || notify_failurebackupが非0の場合だけ右辺の通知を実行する。
正しい。||はbackupの終了状態が非0の場合だけnotify_failureを実行し、成功時には省略する。
実際に確かめる
一時的な検証環境で実行できる例です。
false || printf notified; true || printf not-run期待される結果
notifiedだけを表示理解のポイント
- ||は非0時
- 短絡評価
- 成功時は右辺を省略
確認時の注意
- 確認環境: GNU Bash 5.2 / Bash組込みtrue・false
基礎のおさらい
終了状態
コマンドは通常0で成功、0以外で失敗や別の状態を通知し、&&と||はその数値を真偽として使う。
明示的分岐
通知以外にも複数処理やelseが必要ならif backup; then ...; else ...; fiの方が読みやすい。
問題IDKP-105-635
確認環境GNU Bash 5.2 / Bash組込みtrue・false
最終技術確認2026-08-13
誤り・権利侵害を報告