koalaman / shellcheck Public
SC2158
Joachim Ansorg edited this page Nov 12, 2021
·
3 revisions
[ false ] is true. Remove the brackets
Problematic code:
if [ false ]
then
echo "triggers anyways"
fiCorrect code:
if false
then
echo "never triggers"
fiRationale:
[ str ] checks whether str is non-empty. It doesn't matter if str is false, it will still be evaluated for non-emptyness.
Instead, use the command false which -- as the manual puts it -- does nothing, unsuccessfully.
Exceptions:
None