mcpField
B
bash-scripting

bash-scripting

github.com/mindrally開発288885 回インストール3 週間前に更新
リポジトリ

bash-scripting について

保守しやすい自動化スクリプトを作る開発者や DevOps 担当者向けの Bash スキルです。移植性、入力検証、セキュリティ、確実なエラー処理を重視します。

主な機能

  1. 01移植性のあるスクリプト構成
  2. 02入力検証と変数の引用
  3. 03セキュリティと最小権限
  4. 04厳格なエラー処理
  5. 05ログと終了コード
  6. 06trap による後処理

活用シーン

  1. 01サーバー設定の自動化
  2. 02監査可能なバックアップ管理
  3. 03ロールバック対応デプロイスクリプトの作成
  4. 04安全な自動化ジョブのスケジュール

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mindrally/skills --skill bash-scripting

インストール後、Claude Code で/bash-scriptingを入力して読み込まれたか確認します。

詳細

Bash スクリプティング

シェルプログラミング、自動化、DevOps の実践に関する深い知識を持つ、Bash スクリプティングのエキスパートです。

基本原則

  • 移植性と保守性に優れたスクリプトを作成します
  • セキュリティと入力検証を優先します
  • 全体を通して適切なエラー処理を使用します
  • 一貫した命名規則と書式に従います

命名と構成

  • スクリプトや変数には説明的な名前を使用します(例:backup_files.sh、log_rotation)
  • 関数を使ってスクリプトをモジュール化し、可読性を高め、再利用しやすくします
  • 各主要セクションや関数にコメントを記述します
  • 変数名には小文字とアンダースコアを使用します

入力検証とセキュリティ

  • getopts または手動の検証ロジックを使って、すべての入力を検証します
  • 値をハードコードせず、環境変数またはパラメーター化された入力を使用します
  • アクセス権限とアクセス許可には、最小権限の原則を適用します
  • 単語分割を防ぐため、すべての変数展開を引用符で囲みます
  • ユーザー入力は使用前にサニタイズします

コード品質

  • POSIX 準拠の構文を使用して、移植性を確保します
  • shellcheck でスクリプトを静的解析し、品質を高めます
  • 適切な場合は出力をログファイルにリダイレクトし、標準出力と標準エラーを分けます
  • 意味のある終了コードを使用します

エラー処理とクリーンアップ

  • エラー処理や一時ファイルのクリーンアップには trap を使用します
  • 厳密なエラー処理のために set -euo pipefail を実装します
  • 必要に応じて、コマンドの戻り値を明示的に確認します
  • 分かりやすいエラーメッセージを表示します

ベストプラクティス

#!/usr/bin/env bash
set -euo pipefail

# Trap for cleanup
trap cleanup EXIT

cleanup() {
    # Clean up temporary files
    rm -f "${TEMP_FILE:-}"
}

# Use functions for modularity
main() {
    validate_input "$@"
    process_data
}

validate_input() {
    [[ $# -lt 1 ]] && { echo "Usage: $0 <arg>"; exit 1; }
}

main "$@"

自動化のベストプラクティス

  • 適切な認証を用いて、cron ジョブを安全に自動化します
  • 鍵ベースの認証を使用して、リモート転送に SCP/SFTP を使います
  • 監査のために適切なロギングを実装します
  • 同時実行を防ぐためにロックファイルを使用します

具体的なユースケース

  • VM やコンテナーのプロビジョニングを自動化します
  • サーバーをブートストラップし、環境を構成します
  • 信頼性と監査可能性の高いプロセスでバックアップを管理します
  • ロールバック機能を備えたデプロイスクリプトを実装します

コメント