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.