本文へスキップ

堅牢なスクリプト② 終了コードと 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 で切り分けて復旧できるようになる。

修了後の姿: 障害の根本原因をログとコマンドで突き止められる、チームに頼られる運用エンジニアへ。

この講座はPro会員限定です。無料の会員登録後、無料レッスンのあるコースから学習を始められます。