SuperAPI AI 工具集

bash-pro

部署与运维

查看项目

更新于 10-13 16:08

技能介绍

用途

bash-pro 用于在自动化、CI/CD 或运维场景中编写或审查 Bash 脚本,以及对 Shell 脚本进行安全性与可移植性加固。它明确定义了不适用场景:需要仅使用 POSIX Shell(不含 Bash 特性)时、任务需要更高级语言处理复杂逻辑时、需要 Windows 原生脚本(PowerShell)时,均不应使用该技能。

主要能力

该技能覆盖防御性编程与严格错误处理、POSIX 合规与跨平台可移植性、安全参数解析与输入验证、稳健的文件操作与临时资源管理、进程编排与管道安全、生产级日志与错误报告、使用 Bats 框架的完整测试、使用 ShellCheck 静态分析与 shfmt 格式化、现代 Bash 5.x 特性与最佳实践,以及 CI/CD 集成与自动化工作流。

使用方式

技能以指令形式给出工作流程:定义脚本的输入、输出与失败模式;应用严格模式与安全的参数解析;用防御性模式实现核心逻辑;使用 Bats 与 ShellCheck 添加测试与 lint。在安全方面,要求将输入视为不可信、避免 eval 与不安全通配、在执行破坏性操作前优先使用 dry-run 模式。技能还给出大量具体做法,例如始终使用 set -Eeuo pipefail 与错误捕获、引用所有变量展开、优先使用数组而非 for f in $(ls)、使用 [[ ]] 与 getopts、使用 mktemp 与清理 trap、优先 printf 而非 echo、使用 $() 而非反引号、实现结构化日志、设计幂等脚本、对必需环境变量用 : "${VAR:?message}" 校验、用 -- 结束选项解析、用 xargs -0 与 NUL 边界安全编排子进程、用 readarray/mapfile 安全填充数组,以及稳健检测脚本目录等。

适用场景与限制

适用场景包括生产自动化、CI/CD 流水线、系统工具、脚本安全审查与加固、可移植性改造、测试与静态分析、日志与可观测性建设、依赖管理、安全扫描与硬化、性能优化、文档生成,以及 Bash 3 到 5 的迁移升级。限制方面,技能明确列出若干常见错误应避免,如 for f in $(ls ...) 导致的词分割与通配问题、未加引号的变量展开、在复杂流程中仅依赖 set -e 而无错误捕获、用 echo 输出数据、缺少临时文件清理 trap、不安全的数组填充、忽略二进制安全文件处理等。此外,是否收费、价格、平台支持范围、具体效果等事实在提供的资料中暂未提供。