mcpField
B
bash-defensive-patterns

bash-defensive-patterns

github.com/midudev开发7.0k56 次安装1 周前更新
代码仓库

关于 bash-defensive-patterns

面向开发者和系统管理员的 Bash 编写指南,帮助构建可靠的自动化脚本。内容侧重防御式错误处理、输入安全和可维护模式。

主要功能

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

适用场景

  1. 01编写 CI/CD 流水线脚本
  2. 02构建系统管理工具
  3. 03创建可靠的部署自动化

安装

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

$npx skills add https://github.com/midudev/autoskills --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