Suggestions appear as you type. Use the up and down arrows to choose one and Enter to open it.

This page's audience our own tag's counts — open to see them
–Visits
–Page views
–Clicks to vendors
–Time on page
–Reading now
Clicks to vendors, by tool
  • –
Top countries
  • –
Devices
  • –

– · visits, page views and clicks counted by our own tag, which counts more than our checked analytics; every figure rounded down · how we count

ShellCheck review

Free#3 of 33 in Linters

A free, open-source linter for shell syntax, portability, robustness and security checks.

9.0/10Editor score
ShellCheck9.0 Visit ShellCheck

Reviewed by iTechGuides Editors · Editorial team · Updated Oct 2026

ShellCheck is an open-source static analysis and linting tool for shell scripts. It is suited to developers and teams maintaining sh, bash, dash, ksh or BusyBox shell code who want feedback on syntax, semantic, robustness, portability and security-related issues. The tool is available through a web service, command-line workflows and self-hosted environments, with support for Windows, macOS and Linux. Its focused scope makes it a practical choice for shell quality checks rather than a general-purpose linter across several programming languages.

ShellCheck fits into existing development workflows through editor integrations for Vim, Emacs, Sublime Text, Pulsar and Visual Studio Code. It can also connect with Travis CI, Codacy, Code Climate, Code Factor, CircleCI and GitHub. CI and build or test integration can use exit codes, while GCC, Checkstyle, JSON, diff and human-readable output formats support different review and automation needs. Autofix suggestions are provided as unified diffs, giving maintainers a clear way to inspect proposed changes before applying them.

There are no paid tiers to compare: ShellCheck is free and distributed as GPL-licensed open-source software. Inline directives and shellcheckrc configuration provide control over how checks are applied, but custom rules are not supported. Choose ShellCheck when shell-script portability, error detection and pipeline integration are the priority. Teams seeking a linter that spans multiple programming languages or supports custom rule authoring should look elsewhere. Its narrow focus is also its main boundary: it offers depth for shell code, not a broad language-agnostic analysis platform.

ShellCheck pros and cons

  • Where it wins
    • Checks sh, bash, dash, ksh and BusyBox shell dialects
    • Fits editors, CI pipelines and build or test workflows
    • Provides machine-readable output and unified-diff fix suggestions
  • Where it doesn't
    • Does not support custom rules
    • Focused specifically on shell scripts rather than multiple languages
    • Configuration relies on inline directives and shellcheckrc

ShellCheck fact sheet, pricing and score →

Advertiser disclosure: iTechGuides is reader-supported. Vendors can pay for top positions in our rankings and for a place on other products' pages, and we may earn a commission when you click some links. Bought places stand at the number bought; this page and our disclosure say so. Paying vendors may get a fuller, more detailed review from our editors, and that review can change their score. How we rank.

Last updated · How we research and update