防御的プログラミングパターンで一般的なシェルスクリプトの失敗を防ぎます。このスキルは、エラー処理、入力検証、安全なファイル操作のためのプロダクション対応テンプレートを提供し、エッジケースや予期せぬ失敗から自動化を保護します。
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "bash-defensive-patterns". 7 日より古いログファイルをローテートするスクリプトを作成する(エラー処理を含む)
Résultat attendu:
スクリプトには以下が含まれます:厳格モードの設定(set -Eeuo pipefail)、ログディレクトリの検証、適切なエラー処理を備えた find コマンド、圧縮アーカイブの作成、アトミックファイル操作、一時ファイルのクリーンアップトラップ、ローテーションの進捗と発生したエラーを表示する構造化ログ記録。
Utilisation de "bash-defensive-patterns". ロールバック機能を備えたデプロイスクリプトを構築する
Résultat attendu:
生成されるスクリプトの機能:環境およびバージョンフラグの引数解析、デプロイ前の依存関係チェック、変更前の現在のデプロイメントのバックアップ作成、ゼロダウンタイムデプロイメントのためのアトミックシンボリックリンク切り替え、バックアップから復元するロールバック関数、各ステップでの包括的なログ記録、失敗時に自動的にロールバックをトリガーするエラーハンドラ。
Utilisation de "bash-defensive-patterns". プロセスを監視しアラートを送信するスクリプトを作成する
Résultat attendu:
監視スクリプトには以下が含まれます:kill -0 を使用したプロセスヘルスチェック、設定可能なプロセス名リスト、アラートしきい値の設定、指数バックオフを備えたリトライロジック、通知関数のプレースホルダー(メール/Slack)、グレースフルシャットダウンのためのシグナル処理、PIDs 配列によるバックグラウンドプロセストラッキング、監査証跡のためのタイムスタンプ付き構造化ログ記録。
Audit de sécurité
SûrAll 106 static findings are false positives. The skill contains only markdown documentation with code examples demonstrating defensive Bash programming techniques. Command execution patterns, cryptographic references, and file operations are educational examples showing SAFE practices, not executable code. No prompt injection or malicious intent detected.
Ce que vous pouvez construire
DevOps パイプラインスクリプト
適切なエラー処理、ログ記録、冪等性のある操作を備えた CI/CD パイプラインスクリプトを作成し、安全に失敗し、明確なエラーメッセージを提供します。
システム管理ユーティリティ
エッジケースを処理し、入力を検証し、自動化の失敗によるシステムの破損を防ぐためのクリーンアップハンドラを含むメンテナンススクリプトを構築します。
開発ツールスクリプト
引数解析、ドライランサポート、本番環境の問題のデバッグのための包括的なログ記録を備えた開発者生産性ツールを作成します。
Essayez ces prompts
ディレクトリをバックアップ場所にバックアップする Bash スクリプトを作成してください。厳格モード、エラー捕捉を使用し、続行する前に両方のディレクトリが存在することを検証してください。
--input および --output フラグで入力/出力ファイル引数を受け付ける Bash スクリプトを作成してください。引数検証、ヘルプテキスト、構造化ログ記録、ドライランモードのサポートを含めてください。
グレースフルシャットダウンのためのシグナルハンドラを備えたバックグラウンドプロセスを管理する Bash スクリプトを作成してください。PID を追跡し、クリーンアップトラップを実装し、SIGTERM/SIGINT を適切に処理してください。
ディレクトリ、設定ファイル、サービスを作成する Bash セットアップスクリプトを作成してください。冪等性を持つように設計してください - 重複したリソースやエラーを引き起こすことなく、複数回実行しても安全であるようにしてください。
Bonnes pratiques
- エラーを早期に検出するために、スクリプトの先頭で 'set -Eeuo pipefail' で厳格モードを常に有効にする
- 単語分割とグロビングの問題を防ぐために、すべての変数展開を引用符で囲む
- 安全なパターンマッチングを有効にし、予期せぬ単語分割を防ぐために、条件式に [ ] ではなく [[ ]] を使用する
Éviter
- cp $source $dest のように引用符で囲まれていない変数を使用しない - これはスペースを含むファイル名で単語分割を引き起こす
- コマンド置換にバッククォートを使用しない - より良いネストと可読性のためにモダンな '$()' 構文を好む
- pipefail を理解せずに 'set -e' だけを絶対に使用しない - 完全なエラー処理のために 'set -Eeuo pipefail' を一緒に使用する
Foire aux questions
なぜこのスキルはスクリプトがエラーで終了するのに厳格モードを推奨するのですか?
Bash の代わりに POSIX sh でこれらのパターンを使用できますか?
条件式の [ ] と [[ ]] の違いは何ですか?
コマンドをチェックするために 'which' の代わりに 'command -v' を使用すべきなのですか?
致命的でないスクリプトの失敗をどのように処理すればよいですか?
冪等性とは何ですか?なぜシェルスクリプトにとって重要なのですか?
Détails du développeur
Auteur
sickn33Licence
MIT
Dépôt
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/bash-defensive-patternsRéf
main
Structure de fichiers