shellcheck
ShellCheck - 一个shell脚本静态分析工具
ShellCheck 是一个 GPLv3 工具,可以为 bash/sh shell 脚本提供警告和建议:
ShellCheck 的目标是
- 指出并澄清导致 shell 给出神秘错误消息的典型初学者语法问题。
- 指出并澄清导致 shell 行为奇怪且违反直觉的典型中级语义问题。
- 指出细微的警告、极端情况和陷阱,这些可能会导致高级用户的原本可以正常工作的脚本在未来情况下失败。
安装
在本地安装 ShellCheck 最简单的方法是通过您的包管理器。
在装有 Cabal 的系统上(安装到~/.cabal/bin
):
cabal update
cabal install ShellCheck
在具有 Stack 的系统上(安装至~/.local/bin
):
stack update
stack install ShellCheck
在基于 Debian 的发行版上:
sudo apt install shellcheck
在基于 Arch Linux 的发行版上:
pacman -S shellcheck
或者从 AUR获取无依赖的shellcheck-bin 。
在基于 Gentoo 的发行版上:
emerge --ask shellcheck
在基于 EPEL 的发行版上:
sudo yum -y install epel-release
sudo yum install ShellCheck
在基于 Fedora 的发行版上:
dnf install ShellCheck
在 FreeBSD 上:
pkg install hs-ShellCheck
在 macOS (OS X) 上使用 Homebrew:
brew install shellcheck
或者使用 MacPorts:
sudo port install shellcheck
在 OpenBSD 上:
pkg_add shellcheck
在 openSUSE 上
zypper in ShellCheck
或者使用 OneClickInstall - https://software.opensuse.org/package/ShellCheck
在 Solus 上:
eopkg install shellcheck
在 Windows 上(通过chocolatey):
C:\> choco install shellcheck
或者在 Windows 上(通过winget):
C:\> winget install --id koalaman.shellcheck
或者在 Windows 上 (通过scoop ):
C:\> scoop install shellcheck
来自conda-forge:
conda install -c conda-forge shellcheck
来自 Snap 商店:
snap install --channel=edge shellcheck
来自 Docker Hub:
docker run --rm -v "$PWD:/mnt" koalaman/shellcheck:stable myscript
# Or :v0.4.7 for that version, or :latest for daily builds
或者,koalaman/shellcheck-alpine
如果您想要扩展更大的基于 Alpine Linux 的映像,请使用。它的工作原理与常规 Alpine 映像完全相同,但已预装 shellcheck。