📈 GH Trending Explorer 🎲 Surprise me

← all repos

koalaman / shellcheck

git clone https://github.com/koalaman/shellcheck.git v0.11.0 · 1y ago 🔥 on GitHub Trending today

ShellCheck, a static analysis tool for shell scripts

+9
stars, 24h · #374
+46
stars, 7 days · #969
+179
stars, 30 days · #1,400
40k
★ total · +0% this week
2.0k
forks · 1.1k open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageHaskell
LicenseGPL-3.0
Created2012-11-17 (13y ago)
Last push1d ago
Watchers410
OwnerUser

Seen on GitHub Trending

  • 2026-10-20 — #1 daily in haskell · +9 ★
  • 2026-10-20 — #2 monthly in haskell · +179 ★
  • 2026-10-20 — #5 weekly in haskell · +46 ★

GitHub topics

Links

README excerpt
# ShellCheck - A shell script static analysis tool
ShellCheck is a GPLv3 tool that gives warnings and suggestions for bash/sh shell scripts:
The goals of ShellCheck are
* To point out and clarify typical beginner's syntax issues that cause a shell
 to give cryptic error messages.
* To point out and clarify typical intermediate level semantic problems that
 cause a shell to behave strangely and counter-intuitively.
* To point out subtle caveats, corner cases and pitfalls that may cause an
 advanced user's otherwise working script to fail under future circumstances.
See the gallery of bad code for examples of what ShellCheck can help you identify!
## Table of Contents
* How to use
 * On the web
 * From your terminal
 * In your editor
 * In your build or test suites
* Installing
* Compiling from source
 * Installing Cabal
 * Compiling ShellCheck
 * Running tests
* Gallery of bad code
 * Quoting
 * Conditionals
 * Frequently misused commands
 * Common beginner's mistakes
 * Style
 * Data and typing errors
 * Robustness
 * Portability
 * Miscellaneous
* Testimonials
* Ignoring issues
* Reporting bugs
* Contributing
* Copyright
* Other Resources
## How to use
There are a number of ways to use ShellCheck!
### On the web
Paste a shell script on for instant feedback.
ShellCheck.net is always synchronized to the latest git commit, and is the easiest way to give ShellCheck a go. Tell your friends!
### From your terminal
Run `shellcheck yourscript` in your terminal for instant output, as seen above.
### In your editor
You can see ShellCheck suggestions directly in a variety of editors.
* Vim, through ALE, Neomake, or Syntastic:
 .
* Emacs, through Flycheck or Flymake:
 .
* Sublime, through SublimeLinter.
* Pulsar Edit (former Atom), through linter-shellcheck-pulsar.
* VSCode, through vscode-shellcheck.
* Most other editors, through GCC error compatibility.
### In your build or test suites
While ShellCheck is mostly intended for interactive use, it can easily be added to builds or test suites.
It makes canonical use of exit codes, so you can just add a `shellcheck` command as part of the process.
For example, in a Makefile:
 [code] 
or in a Travis CI `.travis.yml` file:
 [code] 
Services and platforms that have ShellCheck pre-installed and ready to use:
* Travis CI
* Codacy
* Code Climate
* Code Factor
* Codety via the Codety Scanner
* CircleCI via the ShellCheck Orb
* Github (only Linux)
* Trunk Code Quality (universal linter; allows you to explicitly version your shellcheck install) via the shellcheck plugin
* CodeRabbit
Most other services, including GitLab, let you install
ShellCheck yourself, either through the system's package manager (see Installing),
or by downloading and unpacking a binary release.
It's a good idea to manually install a specific ShellCheck version regardless. This avoids
any surprise build breaks when a new version with new warnings is published.
For customized filtering or reporting, ShellCheck can output simple JSON, CheckStyle com