Bash 防御性模式
编写生产就绪的 Bash 脚本的综合指南,使用防御性编程技术、错误处理和安全最佳实践,以防止常见陷阱并确保可靠性。
使用此技能的场景
- 编写生产自动化脚本
- 构建 CI/CD 管道脚本
- 创建系统管理工具
- 开发具备错误恢复能力的部署自动化
- 编写必须安全处理边界情况的脚本
- 构建可维护的 Shell 脚本库
- 实现全面的日志记录和监控
- 创建必须跨不同平台运行的脚本
不使用此技能的场景
- 只需要单条临时 Shell 命令,而非脚本
- 目标环境严格要求仅使用 POSIX sh
- 任务与 Shell 脚本或自动化无关
操作指引
- 确认目标 Shell、操作系统和执行环境。
- 从一开始就启用严格模式和安全默认值。
- 验证输入、引用变量并安全处理文件。
- 添加日志记录、错误捕获和基本测试。
安全注意事项
- 避免在没有确认或 dry-run 标志的情况下执行破坏性命令。
- 除非严格需要,否则不要以 root 身份运行脚本。
详细的模式、检查清单和模板请参阅 resources/implementation-playbook.md。
资源
resources/implementation-playbook.md提供详细的模式、检查清单和模板。
局限性
- 仅当任务明确符合上述范围时才使用此技能。
- 不要将输出视为环境特定验证、测试或专家审查的替代品。
- 如果缺少必要的输入、权限、安全边界或成功标准,请停下来请求澄清。