diff --git a/SC2159.md b/SC2159.md new file mode 100644 index 0000000..da26dd7 --- /dev/null +++ b/SC2159.md @@ -0,0 +1,25 @@ +## [ 0 ] is true. Use 'false' instead + +### Problematic code: + + if [ 0 ] + then + echo "always triggers" + fi + +### Correct code: + + if false + then + echo "never triggers" + fi + +### Rationale: + +`[ str ]` checks whether `str` is non-empty. It doesn't matter if `str` is `0`, it will still be evaluated for non-emptyness. + +Instead, use the command `false` which -- as the manual puts it -- does nothing, unsuccessfully. + +### Exceptions: + +None \ No newline at end of file