关于 bash-defensive-patterns
为编写可靠 Bash 脚本提供防御式编程指导,适合自动化、CI/CD 和系统管理任务。内容涵盖错误处理、输入校验、日志、安全临时文件及可重复执行等实践。
主要功能
- 01严格模式与错误捕获
- 02变量引用与输入校验
- 03结构化日志与试运行
- 04安全处理临时文件
- 05函数复用与幂等设计
适用场景
- 01编写生产自动化脚本
- 02构建 CI/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 流水线脚本
- 创建系统管理工具
- 开发具备错误恢复能力的部署自动化
- 编写必须安全处理边缘情况的脚本
- 构建可维护的 shell 脚本库
- 实现全面的日志记录与监控
- 创建必须跨不同平台运行的脚本
详细模式与完整示例
详细的模式文档位于 references/details.md。当上述导航层级不够用时,请阅读该文件。
最佳实践摘要
- 始终使用严格模式 -
set -Eeuo pipefail - 为所有变量加引号 -
"$variable"可防止单词分割 - 使用 [[]] 条件表达式 - 比 [ ] 更健壮
- 实现错误捕获 - 优雅地捕获并处理错误
- 验证所有输入 - 检查文件是否存在、权限、格式
- 使用函数以提高可复用性 - 使用有意义的名称作为前缀
- 实现结构化日志记录 - 包含时间戳和级别
- 支持 dry-run 模式 - 允许用户预览更改
- 安全处理临时文件 - 使用 mktemp,并通过 trap 清理
- 以幂等性为设计目标 - 脚本应可安全地重复运行
- 记录要求 - 列出依赖项和最低版本
- 测试错误路径 - 确保错误处理正常工作
- 使用
command -v- 检查可执行文件时比which更安全 - 优先使用 printf 而非 echo - 在不同系统上行为更可预测
评论
支持 Markdown