bash-pro
精通生产自动化、CI/CD流水线及系统工具中的防御性Bash脚本编写。擅长打造安全、可移植且可测试的Shell脚本解决方案。
作者
分类
开发工具安装
热度:14
下载并解压到你的 skills 目录
复制命令,发送给 OpenClaw 自动安装:
下载并安装这个技能 https://openskills.cc/api/download?slug=sickn33-skills-bash-pro&locale=zh&source=copy
Bash Pro - 防御性脚本编程与生产级自动化
技能概述
Bash Pro 专注于编写安全、可靠、可移植的生产级 Bash 脚本,涵盖 CI/CD 自动化、系统工具和防御性编程最佳实践。
适用场景
为 GitHub Actions、GitLab CI 等 CI/CD 平台编写可靠的部署和自动化脚本,确保构建流程稳定可重复。
编写日常系统维护任务的自动化脚本,包括日志处理、文件管理、服务监控等,强调错误处理和安全加固。
对现有 shell 脚本进行安全审查,使用 ShellCheck 静态分析识别潜在漏洞,添加输入验证和防护措施。
核心功能
应用
set -Eeuo pipefail 严格模式、变量引用防护、trap 信号处理和全面的输入验证,确保脚本在异常情况下安全退出。处理 Linux 与 macOS 工具差异(如
sed -i)、检测 Bash 版本兼容性、提供 POSIX fallback 实现和平台条件分支。使用 Bats 或 shellspec 编写单元测试、集成 ShellCheck 和 shfmt 到开发流程、配置 pre-commit hooks 和 CI 检查。
常见问题
什么时候应该使用 Bash 而不是 Python?
Bash 适合调用系统命令、处理文件和进程、编写简单的自动化任务。如果涉及复杂逻辑、数据结构或跨平台 GUI,Python 是更好的选择。Bash Pro 也明确指出不适用于需要纯 POSIX sh 或 Windows PowerShell 的场景。
如何避免 Bash 脚本中的常见安全漏洞?
始终引用变量展开 $var 为 "$var"、避免使用 eval 处理用户输入、使用 [[ ]] 进行条件判断、用 mktemp 安全创建临时文件、对输入进行白名单验证。ShellCheck 可以自动检测许多这类问题。
set -e 为什么不够用?
set -e 在管道命令、子shell 和函数调用中行为复杂。Bash Pro 推荐使用 set -Eeuo pipefail 配合 shopt -s inherit_errexit,并使用 trap 显式捕获错误,确保所有异常都能被正确处理。