2 SC2272
Joachim Ansorg edited this page 2021-11-12 19:57:21 +01:00

Command name contains ==. For comparison, use [ "$var" = value ].

Problematic code:

$a/$b==foo/bar

Correct code:

[ "$a/$b" = "foo/bar" ] 

Rationale:

ShellCheck found a command name that contains a ==. Most likely, this was intended as a kind of comparison.

To compare two values, use [ value1 = value2 ]. Both the brackets and the spaces around the = are relevant.

Exceptions:

None, though you can quote the == to suppress the warning.

  • Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!