Skip to content

Files

Latest commit

 

History

History
35 lines (23 loc) · 823 Bytes

SC2161.md

File metadata and controls

35 lines (23 loc) · 823 Bytes

Pattern: Use of [ 1 ] instead of true

Issue: -

Description

This is a stylistic suggestion to use true instead of [ 1 ].

[ 1 ] seems to suggest that the value "1" is somehow relevant to the statement. This is not the case: it doesn't matter. You can replace it with [ 0 ] or [ wombat ], and it will still always be true.

If you instead use true, the value is actually considered and can be inverted by replacing with false.

On bash, you can also use (( 1 )), which evaluates to true much like in C. (( 0 )) is similarly false.

Example of incorrect code:

while [ 1 ]
do
  echo "infinite loop"
done

Example of correct code:

while true
do
  echo "infinite loop"
done

Further Reading