shellcheck

shellcheck

TLDR

Check a shell script

$ shellcheck [path/to/script.sh]
copy

Check a shell script interpreting it as the specified shell dialect (overrides the shebang at the top of the script)

$ shellcheck --shell [sh|bash|dash|ksh] [path/to/script.sh]
copy

Ignore one or more error types

$ shellcheck --exclude [SC1009,SC1073] [path/to/script.sh]
copy

Also check any sourced shell scripts

$ shellcheck --checked-sourced [path/to/script.sh]
copy

Display output in the specified format (defaults to tty)

$ shellcheck --format [tty|checkstyle|diff|gcc|json|json1|quiet] [path/to/script.sh]
copy

Enable one or more optional checks

$ shellcheck --enable=[add-default-case|avoid-nullary-conditions]
copy

List all available optional checks that are disabled by default

$ shellcheck --list-optional
copy

Copied to clipboard
Swissborg