koalaman/shellcheck 是 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 标签可确保获取稳定版本,避免频繁更新导致命令行为变化。
检查当前目录下所有 .sh 后缀的脚本:
bashdocker run --rm -it -v "$(pwd):/mnt" koalaman/shellcheck:stable *.sh
通过 find 命令递归查找所有 .sh 后缀的脚本并检查:
bashfind . -name '*.sh' -exec docker run --rm -it -v "$(pwd):/mnt" koalaman/shellcheck:stable {} +
通过 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)。更多高级集成方案可参考 shellcheck pre-commit 插件。
基础镜像 koalaman/shellcheck 不含 Unix 用户空间工具(如 ls、grep 等)。如需集成 Linux 工具,可使用 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 Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429