写 CI 或部署脚本时,我一般会在真正执行前跑一遍 ShellCheck。它能抓到未引用变量、条件写法和一些不容易发现的分支问题。
环境:ShellCheck 0.8+。安装后,在脚本目录执行:
shellcheck -x scripts/*.sh
-x 会跟进 source 的文件;不需要跟进时可以去掉。只想检查单个脚本就把通配符换成文件名。
它只是静态检查,不会替你验证外部命令或运行时环境,CI 里通常还要接上实际测试。
# GitHub Actions 示例
- uses: ludeeus/action-shellcheck@master
with:
scandir: './scripts'
本地先跑一遍,很多低级错误在提交前就能发现。