bash-lint 用于 bash 脚本的质量保证,核心是集成 ShellCheck 静态检查与 shfmt 格式化。
用途:当需要 lint bash 脚本、运行 shellcheck、格式化 shell 脚本、使用 shfmt 或修复 shellcheck 错误时使用。
主要能力:ShellCheck 可检查单个或多个文件,指定 shell 方言(--shell=bash/sh),排除规则(--exclude=SC2086),并支持 gcc、json、diff 等输出格式。常见代码包括 SC2086(变量需加引号)、SC2046(引用命令替换)、SC2006(用 $() 替代反引号)、SC2034(变量未使用)、SC2155(声明与赋值分开)、SC2164(cd 需处理失败)、SC2181(直接检查退出状态)等。可通过 # shellcheck disable=SC2086 等指令按行或按文件禁用规则,并可用 source 指令处理动态引用。shfmt 支持就地格式化(-w)、检查格式(-d)、递归目录,以及缩进(-i)、二元运算符换行(-bn)、case 缩进(-ci)、重定向空格(-sr)等选项,也可通过 .editorconfig 配置。
使用方式:安装 ShellCheck 可用 apt install shellcheck、brew install shellcheck 或 cabal install ShellCheck;安装 shfmt 可用 brew install shfmt、go install mvdan.cc/sh/v3/cmd/shfmt@latest 或 snap install shfmt。可集成到 pre-commit、GitHub Actions、GitLab CI,以及 VS Code、Vim/Neovim 等编辑器。
适用场景:本地开发、提交前检查、持续集成中的脚本质量与格式统一。
限制:资料未提供该技能自身的安装方式、运行命令、收费或平台支持等细节;具体规则与选项以 ShellCheck、shfmt 官方文档为准。