堅牢なスクリプト② 終了コードと trap
Pro会員限定上級約40分6レッスン
$? と test / [ ] で成否を判定し、0/1/2 の終了コードで結果を伝えます。trap で異常終了時も後始末を必ず実行し、ロックファイルの「残骸」を kill -0 で見抜きます。監視や cron から呼ばれても困らないスクリプトの作法を身につけます。
対象者: 監視・cron・CI から呼ばれるスクリプトを書く方
前提知識: 堅牢なスクリプト① strict mode 修了程度
この教材を終えると、できるようになること
- コマンドの終了コードを $? で確認し、0(成功)と0以外(失敗)を区別できるようになる。
- test / [ ] の主な条件式を使い分け、結果を終了コードで確認できるようになる。
- exit N で意味のある終了コードを返すスクリプトの設計(OK/WARNING/CRITICAL)を理解し、結果を読み取れるようになる。
- trap '…' EXIT で、正常終了でも異常終了でも必ず実行される後始末を書けるようになる。
- 二重起動防止のロックが残って処理が止まる障害を、ロックの中身(PID)と kill -0 で切り分けて復旧できるようになる。
修了後の姿: 障害の根本原因をログとコマンドで突き止められる、チームに頼られる運用エンジニアへ。
Chapter 1終了コードと後始末
スクリプトは「何を表示したか」ではなく「何を返したか」で評価される。
Chapter 2確認クイズ
終了コード・test・trap の理解度をチェック。