
关于
Bash 脚本工作流,用于创建具有防御性模式、错误处理和测试的生产级 Shell 脚本。
name: bash-scripting description: "Bash 脚本工作流,用于创建具有防御性模式、错误处理和测试的生产级 Shell 脚本。" category: granular-workflow-bundle risk: safe source: personal date_added: "2026-02-27"
Bash 脚本工作流
概述
专门用于创建健壮的、生产级 bash 脚本的工作流,包含防御性编程模式、全面的错误处理和自动化测试。
何时使用此工作流
在以下情况使用此工作流:
- 创建自动化脚本
- 编写系统管理工具
- 构建部署脚本
- 开发备份解决方案
- 创建 CI/CD 脚本
工作流阶段
阶段 1:脚本设计
调用的技能
bash-pro- 专业脚本编写bash-defensive-patterns- 防御性模式
操作
- 定义脚本用途
- 确定输入/输出
- 规划错误处理
- 设计日志策略
- 记录需求
复制粘贴提示
Use @bash-pro to design production-ready bash script
阶段 2:脚本结构
调用的技能
bash-pro- 脚本结构bash-defensive-patterns- 安全模式
操作
- 添加 shebang 和严格模式
- 创建 usage 函数
- 实现参数解析
- 设置日志记录
- 添加清理处理器
复制粘贴提示
Use @bash-defensive-patterns to implement strict mode and error handling
阶段 3:核心实现
调用的技能
bash-linux- Linux 命令linux-shell-scripting- Shell 脚本
操作
- 实现主要函数
- 添加输入验证
- 创建辅助函数
- 处理边界情况
- 添加进度指示器
复制粘贴提示
Use @bash-linux to implement system commands
阶段 4:错误处理
调用的技能
bash-defensive-patterns- 错误处理error-handling-patterns- 错误模式
操作
- 添加 trap 处理器
- 实现重试逻辑
- 创建错误消息
- 设置退出码
- 添加回滚能力
复制粘贴提示
Use @bash-defensive-patterns to add comprehensive error handling
阶段 5:日志记录
调用的技能
bash-pro- 日志模式
操作
- 创建日志函数
- 添加日志级别
- 实现时间戳
- 配置日志轮转
- 添加调试模式
复制粘贴提示
Use @bash-pro to implement structured logging
阶段 6:测试
调用的技能
bats-testing-patterns- Bats 测试shellcheck-configuration- ShellCheck
操作
- 编写 Bats 测试
- 运行 ShellCheck
- 测试边界情况
- 验证错误处理
- 使用不同输入测试
复制粘贴提示
Use @bats-testing-patterns to write script tests
Use @shellcheck-configuration to lint bash script
阶段 7:文档
调用的技能
documentation-templates- 文档
操作
- 添加脚本头部
- 记录函数文档
- 创建使用示例
- 列出依赖项
- 添加故障排除部分
复制粘贴提示
Use @documentation-templates to document bash script
脚本模板
#!/usr/bin/env bash
set -euo pipefail
readonly SCRIPT_NAME=$(basename "$0")
readonly SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
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- 操作系统脚本linux-troubleshooting- Linux 故障排除cloud-devops- DevOps 自动化
限制
- 仅在任务明确匹配上述范围时使用此技能。
- 不要将输出视为特定环境验证、测试或专家审查的替代品。
- 如果缺少所需的输入、权限、安全边界或成功标准,请停下来寻求澄清。
兼容工具
Claude CodeCursor
标签
前端开发