mcpField
B
bash-scripting

bash-scripting

github.com/sickn33开发48.7k2.4k 次安装今天更新
代码仓库

关于 bash-scripting

面向自动化和系统管理任务的 Bash 脚本工作流技能,涵盖设计、实现、错误处理、日志、测试与文档,并按需选择阶段。

主要功能

  1. 01分阶段脚本开发流程
  2. 02防御式编程指导
  3. 03错误处理与日志步骤
  4. 04Bats 测试和 ShellCheck 检查
  5. 05脚本文档清单

适用场景

  1. 01编写自动化或部署脚本
  2. 02构建系统管理工具
  3. 03开发备份或 CI/CD 脚本

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill bash-scripting

安装后在 Claude Code 中输入/bash-scripting确认已加载。

详细介绍

Bash 脚本工作流

概述

专门用于创建健壮、可用于生产环境的 Bash 脚本,采用防御式编程模式、全面的错误处理和自动化测试。

何时使用此工作流

在以下情况下使用此工作流:

  • 创建自动化脚本
  • 编写系统管理工具
  • 构建部署脚本
  • 开发备份解决方案
  • 创建 CI/CD 脚本

范围与执行

选择与用户任务相符的阶段;本文档是索引,并不要求运行列出的所有技能。使用技能前先阅读该技能。遵守仓库和用户的约束。云端调用、主机配置、发布、破坏性操作和支出都需要相应授权;工作流检查清单不会授予这些授权。

模板只是起点,并非已完成的脚本:它尚未实现参数解析或回滚。请验证路径、引用所有展开,在临时目录中测试,并确保针对具体命令的重试次数有限且安全。切勿记录凭据,也不要声称严格模式能够捕获所有故障。

工作流阶段

阶段 1:脚本设计
要调用的技能
  • bash-pro - 专业脚本编写
  • bash-defensive-patterns - 防御式模式
操作
  1. 明确脚本用途
  2. 确定输入和输出
  3. 规划错误处理
  4. 设计日志策略
  5. 记录需求
可复制粘贴的提示词
Use @bash-pro to design production-ready bash script
阶段 2:脚本结构
要调用的技能
  • bash-pro - 脚本结构
  • bash-defensive-patterns - 安全模式
操作
  1. 添加 shebang 和严格模式
  2. 创建用法函数
  3. 实现参数解析
  4. 设置日志记录
  5. 添加清理处理程序
可复制粘贴的提示词
Use @bash-defensive-patterns to implement strict mode and error handling
阶段 3:核心实现
要调用的技能
  • bash-linux - Linux 命令
  • linux-shell-scripting - Shell 脚本编写
操作
  1. 实现主函数
  2. 添加输入验证
  3. 创建辅助函数
  4. 处理边界情况
  5. 添加进度指示
可复制粘贴的提示词
Use @bash-linux to implement system commands
阶段 4:错误处理
要调用的技能
  • bash-defensive-patterns - 错误处理
  • error-handling-patterns - 错误模式
操作
  1. 添加 trap 处理程序
  2. 实现重试逻辑
  3. 创建错误消息
  4. 设置退出代码
  5. 添加回滚功能
可复制粘贴的提示词
Use @bash-defensive-patterns to add comprehensive error handling
阶段 5:日志记录
要调用的技能
  • bash-pro - 日志记录模式
操作
  1. 创建日志记录函数
  2. 添加日志级别
  3. 实现时间戳
  4. 配置日志轮转
  5. 添加调试模式
可复制粘贴的提示词
Use @bash-pro to implement structured logging
阶段 6:测试
要调用的技能
  • bats-testing-patterns - Bats 测试
  • shellcheck-configuration - ShellCheck
操作
  1. 编写 Bats 测试
  2. 运行 ShellCheck
  3. 测试边界情况
  4. 验证错误处理
  5. 使用不同输入进行测试
可复制粘贴的提示词
Use @bats-testing-patterns to write script tests
Use @shellcheck-configuration to lint bash script
阶段 7:文档
要调用的技能
  • documentation-templates - 文档
操作
  1. 添加脚本头部说明
  2. 记录函数
  3. 创建用法示例
  4. 列出依赖项
  5. 添加故障排除部分
可复制粘贴的提示词
Use @documentation-templates to document bash script

脚本模板

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

SCRIPT_NAME=$(basename -- "$0")
readonly SCRIPT_NAME
SCRIPT_DIR=$(cd -- "$(dirname -- "$0")" && pwd)
readonly SCRIPT_DIR

log() { echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*"; }
error() { log "ERROR: $*" >&2; exit 1; }

usage() { cat <<EOF
Usage: $SCRIPT_NAME [OPTIONS]
Options:
    -h, --help      Show help
    -v, --verbose   Verbose output
EOF
}

main() {
    log "Script started"
    # Implementation
    log "Script completed"
}

main "$@"

质量门槛

  • ShellCheck 检查通过
  • Bats 测试通过
  • 错误处理正常
  • 日志记录正常
  • 文档完整

相关工作流套件

  • os-scripting - OS 脚本编写
  • linux-troubleshooting - Linux 故障排除
  • cloud-devops - DevOps 自动化

限制

  • 仅当任务明确符合上述范围时,才使用此技能。
  • 不要将输出视为环境专属验证、测试或专家审查的替代品。
  • 如果缺少必要输入、权限、安全边界或成功标准,请暂停并请求澄清。

评论

支持 Markdown