Table of Contents
You need a space here
Problematic code:
if ![-z foo ]; then true; fi # if command `[-z' w/ args `foo', `]' fails..
Correct code:
if ! [ -z foo ]; then true; fi # if command `[' w/ args `-z', `foo', `]' fails..
Rationale:
Bourne shells are very whitespace sensitive. Adding or removing spaces can drastically alter the meaning of a script. In these cases, ShellCheck has noticed that you're missing a space at the position indicated.
Exceptions
ShellCheck does not understand Bash History Expansion, an interactive shell feature also using !
(such as !!
to expand to the previous command).
These features are disabled by default in shells and very rarely used in scripts, but may occasionally be found in interactively sourced files like .bashrc
. Please ignore the error in these cases.
-
Installation
-
Usage
-
Integrating and extending
Each individual ShellCheck warning has its own wiki page like SC1000. Use GitHub Wiki's "Pages" feature above to find a specific one, or see Checks.
<--- This is a global footer, please don't edit it. --->