[ 1 ]
, use
true
.while [ 1 ]
do
echo "infinite loop"
done
while true
do
echo "infinite loop"
done
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.
None.
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.