Skip to content
Joachim Ansorg edited this page Nov 12, 2021 · 2 revisions

Use false instead of empty [/[[ conditionals.

Problematic code:

if [ ]
then
  echo "Temporarily disabled"
fi

Correct code:

if false
then
  echo "Temporarily disabled"
fi

Rationale:

[ ] is a somewhat obscure way of expressing falsehood, and the behavior is likely intended to allow the incorrectly quoted command [ $var ] to still work when the variable is unset.

POSIX has a more descriptive command false for this.

Exceptions:

None. This is a stylistic suggestion, and has no effect on how the script works.

ShellCheck

Each individual ShellCheck warning has its own wiki page like S001. Use GitHub "Pages" feature above to find a specific one, or see Checks.

Clone this wiki locally