用 ShellCheck 检查 Shell 脚本
对 bash/sh 脚本做静态分析,提前发现引号缺失、未处理展开、可移植性陷阱等经典 bug。
执行 shellcheck deploy.sh 可列出每个问题及 SC 编号说明;用 shellcheck -s bash -e SC2034 script.sh 可指定目标 shell 并屏蔽特定编号。
01命令
命令
$ shellcheck deploy.sh02作用说明
ShellCheck 会像 bash 一样解析脚本,然后标记已知易错的模式:未加引号的 $VAR、会被分词拆坏的 rm -rf $DIR、无用的 cat、以及不带错误检查的 cd。每个问题都有 SC 编号,链接到详细 Wiki 页面讲解修法——它在检查的同时也在教学。存在问题即以非零码退出,因此可以直接放入 CI 或 git pre-commit 钩子。
03风险
!注意: ShellCheck 只做逐文件分析:它看不到运行时数据,报告干净只说明没有已知 bug 模式,并不证明脚本一定正确。
04撤销
✓无需撤销——该命令不会改变持久状态。
05来源
- ShellCheck README依据: Describes shellcheck as a static analysis tool for shell scripts with editor integrations and CI usage.
- shellcheck(1) — Linux man page依据: shellcheck man page: 'ShellCheck - warn about shell script syntax errors, semantic problems' with -s shell and -e exclusion options.
最后验证: 2026-09-17 · 分类: 开发者