105.2基礎
buildが終了状態0のときだけdeployを実行する。
適切なコマンドリストはどれか。
× 不正解
ANDリストの&&は左側が成功したときだけ右側を実行する。失敗時だけ実行する||や無条件の;とは用途が異なる。
詳細解説
誤り
build || deploybuildが非0で失敗した場合にdeployを実行する。
誤り。||は左側が非0の場合に右側を実行するため、ビルド失敗後にdeployする逆の制御になる。
正しい
build && deploybuildが0で成功した場合だけ右辺を実行する。
正しい。&&は左側の終了状態が0のときだけ右側を評価し、成功した成果物だけをdeployへ渡せる。
誤り
build ; deploybuildの終了状態にかかわらずdeployへ進む。
誤り。セミコロンは単なるコマンド区切りで、buildが失敗してもdeployを必ず実行する。
誤り
build & deploybuildをバックグラウンド化し、完了成否を待たずdeployを起動する。
誤り。&はbuildをバックグラウンド化するため、buildの完了と終了状態を確認する前にdeployへ進む。
実際に確かめる
一時的な検証環境で実行できる例です。
true && printf deployed; false && printf not-run期待される結果
deployedだけを表示理解のポイント
- &&は成功時
- ||は失敗時
- ;は無条件
確認時の注意
- 確認環境: GNU Bash 5.2 / Bash組込みtrue・false
基礎のおさらい
短絡評価
結果が確定した時点で右辺を省略する性質により、&&と||は簡単な条件付き実行に使える。
複合処理
右辺に複数コマンドが必要なら{ commands; }等で1つのコマンドグループとしてまとめる。
問題IDKP-105-634
確認環境GNU Bash 5.2 / Bash組込みtrue・false
最終技術確認2026-08-13
誤り・権利侵害を報告