Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
ShellCheck, a static analysis tool for shell scripts
Haskell
branch: master

This branch is 220 commits behind koalaman:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
ShellCheck
test
.gitignore
LICENSE
Makefile
README
ShellCheck.cabal
shellcheck.1.md
shellcheck.hs

README

ShellCheck - A shell script static analysis tool
http://www.vidarholen.net/contents/shellcheck

Copyright 2012, Vidar 'koala_man' Holen
Licensed under the GNU Affero General Public License, v3

The goals of ShellCheck are:

  - To point out and clarify typical beginner's syntax issues,
    that causes a shell to give cryptic error messages.

  - To point out and clarify typical intermediate level semantic problems,
    that causes 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.

ShellCheck is written in Haskell, and requires GHC, Parsec3 and Text.Regex. 
To build the JSON interface and run the unit tests, it also requires QuickCheck2 and JSON.

On Fedora, these can be installed with:
  yum install cabal-install ghc ghc-parsec-devel ghc-QuickCheck-devel ghc-json-devel ghc-regex-compat-devel

On Ubuntu and similar, use:
  apt-get install ghc libghc-parsec3-dev libghc-json-dev libghc-regex-compat-dev libghc-quickcheck2-dev cabal-install

For older releases, you may have to use:
  apt-get install ghc6 libghc6-parsec3-dev libghc6-quickcheck2-dev libghc6-json-dev libghc-regex-compat-dev cabal-install

Executables can be built with cabal. Tests currently still rely on a Makefile.

Install:
  cabal install

  which shellcheck
  ~/.cabal/bin/shellcheck

Happy ShellChecking!
Something went wrong with that request. Please try again.