ShellCheck, a static analysis tool for shell scripts
Go to file
Vidar Holen 2fb011aa9b Typo 2012-11-17 11:48:16 -08:00
ShellCheck Fixed incorrect warning for foo=$3 2012-11-17 10:53:39 -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 Fixed incorrect errors on [[ $1 ]] 2012-11-16 21:01:26 -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 Typo 2012-11-17 11:48:16 -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
    advanced 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!