mcpField
B
bash-defensive-patterns

bash-defensive-patterns

github.com/wshobson开发41.9k13.6k 次安装2 周前更新
代码仓库

关于 bash-defensive-patterns

为编写可靠 Bash 脚本提供防御式编程指导,适合自动化、CI/CD 和系统管理任务。内容涵盖错误处理、输入校验、日志、安全临时文件及可重复执行等实践。

主要功能

  1. 01严格模式与错误捕获
  2. 02变量引用与输入校验
  3. 03结构化日志与试运行
  4. 04安全处理临时文件
  5. 05函数复用与幂等设计

适用场景

  1. 01编写生产自动化脚本
  2. 02构建 CI/CD 流水线脚本
  3. 03开发系统管理工具
  4. 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。当上述导航层级不够用时,请阅读该文件。

最佳实践摘要

  1. 始终使用严格模式 - set -Eeuo pipefail
  2. 为所有变量加引号 - "$variable" 可防止单词分割
  3. 使用 [[]] 条件表达式 - 比 [ ] 更健壮
  4. 实现错误捕获 - 优雅地捕获并处理错误
  5. 验证所有输入 - 检查文件是否存在、权限、格式
  6. 使用函数以提高可复用性 - 使用有意义的名称作为前缀
  7. 实现结构化日志记录 - 包含时间戳和级别
  8. 支持 dry-run 模式 - 允许用户预览更改
  9. 安全处理临时文件 - 使用 mktemp,并通过 trap 清理
  10. 以幂等性为设计目标 - 脚本应可安全地重复运行
  11. 记录要求 - 列出依赖项和最低版本
  12. 测试错误路径 - 确保错误处理正常工作
  13. 使用 command -v - 检查可执行文件时比 which 更安全
  14. 优先使用 printf 而非 echo - 在不同系统上行为更可预测

评论

支持 Markdown