ShellCheck (hackage): 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.
Keywords: gpl|library|program|static-analysis