ShellCheck 速查
共 24 条 ShellCheck 用法,涵盖基础用法、输出与严重级别、忽略与内联、常见告警含义、集成。 支持搜索与分类筛选,点击即可复制。
基础用法
静态分析 shell 脚本,指出隐患。
| 命令 | 说明 |
|---|---|
| 检查脚本 | |
| 指定 shell 方言(sh/bash/dash/ksh) | |
| 跟随 source 的外部文件一起检查 | |
| 批量检查 | |
| 检查标准输入 |
输出与严重级别
便于接入 CI。
| 命令 | 说明 |
|---|---|
| 输出 GCC 风格(编辑器可跳转) | |
| 输出 JSON(脚本解析) | |
| 输出 CheckStyle XML(CI 报告) | |
| 只报 warning 及以上 | |
| 对可自动修复项生成补丁 |
忽略与内联
按规则码屏蔽误报。
| 命令 | 说明 |
|---|---|
| 命令行排除指定规则 | |
| 在文件头整体禁用某规则 | |
| 行内禁用(同一行前后) | |
| 在无 shebang 文件里声明方言 | |
| 常见处理方式 |
常见告警含义
高频规则码。
| 命令 | 说明 |
|---|---|
| 未加引号的变量会分词与通配(应写 "$var") | |
| 未加引号的命令替换,应写 "$(cmd)" | |
| 建议用 $() 替代反引号 | |
| cd 未检查是否失败(建议 cd ... || exit) | |
| 无法解析动态 source,可加 -x |
集成
编辑器与流水线。
| 命令 | 说明 |
|---|---|
| 编辑器实时提示 | |
| 提交前检查 | |
| 流水线门禁 | |
| 查看版本 |
使用说明
ShellCheck 速查:基础用法、输出与严重级别、忽略与内联、常见告警含义、集成;支持搜索与分类筛选,点击即可复制。
- 按用途点分类:基础用法、输出与严重级别、忽略与内联、常见告警含义、集成。
- 点「命令」列复制到终端。
- 带 source 的脚本加 -x,输出接 CI 用 -f gcc/json/checkstyle。
- 误报可用 # shellcheck disable=SCxxxx 精准屏蔽。
常见问题
- SC2086 是什么?
- 变量未加引号会导致分词与通配,应写成 "$var";这是最高频的告警,修好能避免大量隐藏 bug。
- 如何让 CI 只报严重问题不失败?
- 用 -S 指定严重级别(如 -S warning)过滤低级别,再决定是否作为门禁;也可用 -f checkstyle 输出报告供平台解析。
- 需要联网吗?
- 不需要,本地可用。
延伸阅读
相关工具
DGR
Dagster 速查
@asset / dagster dev / Materialize / IO Manager 速查
PFT
Prefect 速查
@flow / @task / prefect deploy / work-pool 速查
SMG
Semgrep 速查
semgrep scan / --config / pattern / semgrep ci 速查
GLK
Gitleaks 速查
gitleaks detect / protect / .gitleaks.toml 速查
CKV
Checkov 速查
checkov -d / --skip-check / baseline 速查
WG
WireGuard 速查
wg genkey / wg-quick up / AllowedIPs 速查