All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.sonar.l10n.shellcheck.rules.shellcheck.SC2161.html Maven / Gradle / Ivy

The newest version!

Instead of '[ 1 ]', use 'true'.

Problematic code

while [ 1 ]
do
  echo "infinite loop"
done

Correct code

while true
do
  echo "infinite loop"
done

Rationale

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.

Exceptions

None.





© 2015 - 2025 Weber Informatics LLC | Privacy Policy