ShellCheck is a shell script static analysis tool. 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.
