ShellCheck
Metrics as of , from the GitHub or GitLab API of each repository. Refreshed monthly.
What ShellCheck is
ShellCheck is a static analysis tool that reports warnings and suggestions for bash and sh scripts. It targets beginner syntax errors, intermediate semantic problems, and edge cases that can break working scripts later. It runs on the shellcheck.net website, as a terminal command, or inside editors such as Vim, Emacs, Sublime and VS Code. In builds and test suites it signals findings through exit codes. Output formats include JSON, CheckStyle-compatible XML, GCC-compatible warnings and plain text. Issues can be ignored through an environment variable, a command-line option, or directives inside a file.
Written from the project's README, read .
- Category
- Code quality and static analysis
- License
- GPL-3.0
- Language
- Haskell
- Changelog
- Releases on GitHub
Repository metrics
Status
activeLast commit within 90 days of the fetch date.Computed from the last commit date and the archive flag on the fetch date. See the status rules.
Alternatives
Listed code quality and static analysis tools, same primary language first, then by GitHub stars. Each line gives one fact from the tool's documentation where it differs from ShellCheck's, with its source. See also ShellCheck alternatives.
Hadolint: Languages or files analysed: Dockerfiles, including the Bash code inside RUN instructions (through ShellCheck). source: README
Ruff: Languages or files analysed: Python files (*.py, *.pyi), Jupyter Notebooks (*.ipynb) and pyproject.toml. source: Docs: Configuring Ruff
ESLint: Languages or files analysed: ECMAScript/JavaScript code; JSX parsing when enabled. source: README
mypy: Languages or files analysed: Python programs with type hints. source: README
golangci-lint: Languages or files analysed: Go code. source: README
Semgrep: Languages or files analysed: Community supported in Semgrep CE: C/C++, C#, Go, Java, JavaScript, TypeScript, Kotlin, Python, Ruby, Rust, PHP, Scala, Swift, Terraform. source: Docs: Supported languages for Semgrep Community Edition (CE)
Infer: Languages or files analysed: Java, C++, Objective-C and C. source: README
PHPStan: Languages or files analysed: PHP code. source: README
Comparisons
How to install
sudo apt install shellcheckQuestions
Is ShellCheck open source?
Yes. ShellCheck is released under GPL-3.0, an OSI-approved license, as reported by the GitHub API on 2026-09-22.
Is ShellCheck maintained?
On 2026-09-22, the last commit to the default branch was on 2026-09-21, so the listed status is active. Rule: Last commit within 90 days of the fetch date.
How many GitHub stars does ShellCheck have?
40,067 stars on 2026-09-22, from the GitHub API. The number is refreshed at each monthly update.
What language is ShellCheck written in?
The repository's primary language, as reported by the GitHub API, is Haskell.
How do I install ShellCheck?
The README gives this command: sudo apt install shellcheck
Sources
- GitHub REST API: repository, read
- GitHub REST API: commits, read
- GitHub REST API: latest release, read
- GitHub REST API: contributors, read
- README, read