SC2077 – ShellCheck Wiki

See this page on GitHub

Sitemap


You need spaces around the comparison operator.

Problematic code:

[[ 0=1 ]]

Correct code:

[[ 0 = 1 ]]

Rationale:

[[ 0 = 1 ]] means "check if 0 and 1 are equal".

[[ str ]] is short form for [[ -n str ]], and means "check if str is non-empty". It doesn't matter if str happens to contain 0=1.

Always use spaces around the comparison operator in [..] and [..](..), otherwise it won't be recognized as an operator.

Exceptions

None.


ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.