Here is description of the tool:
Description : 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
Continue reading