ShellCheck, a static analysis tool for shell scripts
Go to file
Vidar Holen de1fa61560 Warn about client side expansion in ssh strings/heredocs. 2013-08-03 21:19:32 -07:00
ShellCheck Warn about client side expansion in ssh strings/heredocs. 2013-08-03 21:19:32 -07:00
test Added ulimit to test script because lol debugging 2012-11-19 23:24:24 -08:00
LICENSE Added readme and licenses 2012-11-16 19:43:05 -08:00
Makefile Initial Cabal file 2013-06-18 09:29:39 -07:00
README Initial Cabal file 2013-06-18 09:29:39 -07:00
ShellCheck.cabal Stable version 0.1.0. 2013-07-24 00:23:23 -07: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, Parsec3 and Text.Regex. 
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 libghc-regex-compat-dev

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

Happy ShellChecking!