Analysis updated 2026-06-20
Run ShellCheck in your CI pipeline to automatically catch shell script bugs before merging.
Get instant feedback on quoting and variable expansion errors in bash automation scripts.
Audit a legacy deployment script for portability issues before running it on a new system.
Integrate ShellCheck into VS Code or Vim for inline warning highlights as you write scripts.
| koalaman/shellcheck | jgm/pandoc | postgrest/postgrest | |
|---|---|---|---|
| Stars | 39,388 | 43,932 | 27,071 |
| Language | Haskell | Haskell | Haskell |
| Setup difficulty | easy | easy | moderate |
| Complexity | 2/5 | 2/5 | 3/5 |
| Audience | ops devops | writer | vibe coder |
Figures from each repo's GitHub metadata at analysis time.
ShellCheck is a static analysis tool for shell scripts, which means it reads your bash or sh script files and points out potential problems without actually running the code. Writing shell scripts is notoriously error-prone because the language has many subtle traps around quoting, variable expansion, and command substitution that can cause scripts to fail silently or behave unexpectedly on inputs the author did not anticipate. ShellCheck exists to catch these issues automatically before they cause problems in production. The tool works by parsing your shell script and applying a large set of rules derived from common shell scripting mistakes. It covers three levels of issues: syntax errors that beginners frequently make and that cause cryptic error messages, semantic problems that intermediate users encounter where the script runs but behaves counter-intuitively, and subtle edge cases and portability pitfalls that can trip up experienced developers. For each finding, ShellCheck provides a warning with a clear explanation and often a suggestion for how to fix it. You can try it instantly in a browser at shellcheck.net, run it from the command line, integrate it with editors like VS Code, Vim, and Emacs for inline highlighting, or add it to a CI pipeline to automatically fail builds that contain shell script warnings. You would use ShellCheck any time you write or maintain shell scripts, particularly automation scripts, build scripts, or deployment tooling where a subtle quoting bug could have serious consequences. It is also commonly added to CI/CD pipelines as a gating check to prevent problematic shell code from being merged. ShellCheck is written in Haskell and distributed as a pre-compiled binary for Linux, macOS, and Windows. It is available through most system package managers and can also be run as a Docker container. The project is licensed under GPLv3.
ShellCheck reads your bash or sh scripts and warns you about bugs, quoting mistakes, and subtle pitfalls before they cause silent failures in production.
Mainly Haskell. The stack also includes Haskell, Docker.
Licensed under GPLv3, you can use and modify it freely but any distributed versions must also be open source under the same license.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Verify against the repo before relying on details.