用 ShellCheck 检查 Shell 脚本

对 bash/sh 脚本做静态分析,提前发现引号缺失、未处理展开、可移植性陷阱等经典 bug。

Linux代码检查Bash 脚本ShellCheck 脚本检查低风险
执行 shellcheck deploy.sh 可列出每个问题及 SC 编号说明;用 shellcheck -s bash -e SC2034 script.sh 可指定目标 shell 并屏蔽特定编号。

01命令

命令
$ shellcheck deploy.sh

02作用说明

ShellCheck 会像 bash 一样解析脚本,然后标记已知易错的模式:未加引号的 $VAR、会被分词拆坏的 rm -rf $DIR、无用的 cat、以及不带错误检查的 cd。每个问题都有 SC 编号,链接到详细 Wiki 页面讲解修法——它在检查的同时也在教学。存在问题即以非零码退出,因此可以直接放入 CI 或 git pre-commit 钩子。

03风险

风险低风险
使用条件shellcheck (sudo apt install shellcheck / sudo dnf install shellcheck)
!注意: ShellCheck 只做逐文件分析:它看不到运行时数据,报告干净只说明没有已知 bug 模式,并不证明脚本一定正确。

04撤销

✓无需撤销——该命令不会改变持久状态。

05来源

  • ShellCheck README
    ShellCheck (GitHub) · community · 2026-09-17
    依据: Describes shellcheck as a static analysis tool for shell scripts with editor integrations and CI usage.
  • shellcheck(1) — Linux man page
    Ubuntu Manpages · technical · 2026-09-17
    依据: shellcheck man page: 'ShellCheck - warn about shell script syntax errors, semantic problems' with -s shell and -e exclusion options.

最后验证: 2026-09-17 · 分类: 开发者