
koalaman/shellcheck 是 https://github.com/koalaman/shellcheck 的官方 Docker 镜像。ShellCheck 是一款针对 shell 脚本的静态分析工具,可检测脚本中的语法错误、潜在问题、不符合最佳实践的写法及常见陷阱,帮助开发者编写更健壮、可靠的 shell 脚本。
shellcheck 二进制文件,无额外 Unix 用户空间工具,体积小巧。latest(最新提交)、stable(稳定版)及具体版本(如 v0.10.0)标签,满足不同稳定性需求。shellcheck 二进制文件复制到自定义 Docker 镜像,扩展基础镜像功能。通过 docker run 命令直接运行镜像,挂载当前目录到容器的 /mnt 目录(脚本需位于当前目录),可查看版本信息或检查脚本:
bash# 查看版本信息 docker run --rm -it -v "$(pwd):/mnt" koalaman/shellcheck:latest --version
参数说明:
--rm:容器退出后自动删除。-it:交互模式,分配终端。-v "$(pwd):/mnt":将宿主机当前目录挂载到容器的 /mnt 目录,使容器可访问宿主机脚本文件。为简化命令,可将 docker run 命令添加为 shell 别名(如 .bashrc 或 .zshrc):
bash# 添加别名到 .bashrc echo 'alias shellcheck="docker run --rm -it -v \"\$(pwd):/mnt\" koalaman/shellcheck:stable"' >> ~/.bashrc # 重启终端或执行以下命令使别名生效 source ~/.bashrc # 验证别名 shellcheck --version
说明:使用 stable 标签可确保获取稳定版本,避免频繁更新导致命令行为变化。
4.3.1 通过通配符检查脚本
检查当前目录下所有 .sh 后缀的脚本:
bashdocker run --rm -it -v "$(pwd):/mnt" koalaman/shellcheck:stable *.sh
4.3.2 递归按文件名检查
通过 find 命令递归查找所有 .sh 后缀的脚本并检查:
bashfind . -name '*.sh' -exec docker run --rm -it -v "$(pwd):/mnt" koalaman/shellcheck:stable {} +
4.3.3 递归识别 Shebang 检查
通过 find 和 grep 识别包含 #!.*sh shebang 的文件(无论是否有 .sh 后缀),并进行检查:
bashfind . -type f -exec grep -q '^#!.*sh' {} \; -exec docker run --rm -it -v "$(pwd):/mnt" koalaman/shellcheck:stable {} +
提示:为避免新版本导致构建中断,建议将 stable 替换为具体版本(如 v0.10.0)。更多高级集成方案可参考 https://github.com/koalaman/shellcheck-precommit%E3%80%82
基础镜像 koalaman/shellcheck 不含 Unix 用户空间工具(如 ls、grep 等)。如需集成 Linux 工具,可使用 https://hub.docker.com/r/koalaman/shellcheck-alpine/ 镜像,该镜像基于 Alpine Linux,包含完整用户空间工具集。
可通过多阶段构建,将 shellcheck 二进制文件复制到自定义镜像中(如基于 Alpine 的镜像):
dockerfile# 自定义镜像示例(基于 Alpine) FROM alpine:latest # 从 shellcheck 镜像复制二进制文件 COPY --from=koalaman/shellcheck:stable /bin/shellcheck /bin/ # 验证安装 RUN shellcheck --version
| 标签格式 | 说明 | 适用场景 |
|---|---|---|
latest | 对应 ShellCheck 最新 Git 提交版本 | 尝鲜新功能,不保证稳定性 |
stable | 对应最新稳定发布版本 | 本地开发或非关键 CI 流程 |
v<版本号> | 具体版本(如 v0.10.0) | 关键 CI 流程,避免版本变更风险 |
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。



探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务