ShellCheck, a static analysis tool for shell scripts
Go to file
Vidar Holen 258a13721e Added readme and licenses 2012-11-16 19:43:05 -08:00
ShellCheck Added readme and licenses 2012-11-16 19:43:05 -08:00
badcase Fixed incorrect n=1 & n=foo$n and same for $((n++)) 2012-11-15 23:23:08 -08:00
goodcase Added subshell variable detection cases 2012-11-05 10:29:39 -08:00
test Added readme and licenses 2012-11-16 19:43:05 -08:00
LICENSE Added readme and licenses 2012-11-16 19:43:05 -08:00
Makefile Added a json interface 2012-11-06 21:55:46 -08:00
README Added readme and licenses 2012-11-16 19:43:05 -08:00
jsoncheck.hs Added readme and licenses 2012-11-16 19:43:05 -08:00
shellcheck.hs Added readme and licenses 2012-11-16 19:43:05 -08:00

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
    advance user's otherwise working script to fail under future circumstances.


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

On Ubuntu and similar, these are called:
  ghc6 libghc6-parsec3-dev libghc6-quickcheck2-dev libghc6-json-dev 

Build with 'make'. 

Happy ShellChecking!