bash-defensive-patterns について
防御的プログラミングで信頼性の高い Bash スクリプトを書くためのスキルです。自動化やシステム管理に向け、エラー処理、検証、ログ、一時ファイルの安全な扱い、冪等性を扱います。
主な機能
- 01厳格モードとエラートラップ
- 02引用と入力検証
- 03構造化ログとドライラン
- 04一時ファイルの安全な処理
- 05関数の再利用と冪等性
活用シーン
- 01本番自動化スクリプトの作成
- 02CI/CD パイプライン用スクリプトの構築
- 03システム管理ツールの開発
- 04安全に再実行できるデプロイスクリプトの作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ wshobson/ agents --skill bash-defensive-patternsインストール後、Claude Code で/bash-defensive-patternsを入力して読み込まれたか確認します。
同梱ファイルreferences/details.md
詳細
Bash 防御的パターン
防御的プログラミング手法、エラー処理、安全性のベストプラクティスを用いて、本番環境に対応した Bash スクリプトを作成するための包括的なガイダンスです。よくある落とし穴を防ぎ、信頼性を確保します。
このスキルを使用する場面
- 本番用自動化スクリプトを作成するとき
- CI/CD パイプラインスクリプトを構築するとき
- システム管理ユーティリティを作成するとき
- エラーに強いデプロイ自動化を開発するとき
- エッジケースを安全に処理する必要があるスクリプトを作成するとき
- 保守しやすいシェルスクリプトライブラリを構築するとき
- 包括的なログ記録とモニタリングを実装するとき
- 異なるプラットフォーム間で動作する必要があるスクリプトを作成するとき
詳細なパターンと実例
詳細なパターンのドキュメントは references/details.md にあります。上記のナビゲーション層では不十分な場合に、そのファイルを参照してください。
ベストプラクティスまとめ
- 常に strict モードを使用する -
set -Eeuo pipefail - すべての変数を引用する -
"$variable"は単語分割を防ぎます - [[ ]] 条件式を使用する - [ ] より堅牢です
- エラートラップを実装する - エラーを捕捉し、適切に処理します
- すべての入力を検証する - ファイルの存在、権限、形式を確認します
- 再利用性のために関数を使用する - 意味のある名前のプレフィックスを付けます
- 構造化ログを実装する - タイムスタンプとレベルを含めます
- ドライランモードをサポートする - ユーザーが変更をプレビューできるようにします
- 一時ファイルを安全に処理する - mktemp を使用し、trap でクリーンアップします
- 冪等性を考慮して設計する - スクリプトは再実行しても安全であるべきです
- 要件を文書化する - 依存関係と最小バージョンを列挙します
- エラー経路をテストする - エラー処理が正しく機能することを確認します
command -vを使用する - 実行ファイルの確認においてwhichより安全です- echo より printf を優先する - システム間でより予測可能です
コメント
Markdown 対応