=
.[ "$var"= 2 ]
[ "$var" = 2 ]
You appear to be missing the space on the left side of the operator.
Shell in general, and [
in particular, is space sensitive.
Operators and operands must be separate tokens.
Please ensure that the operator, like the =
in the
example, has a space both before and after it.
None. If you're comparing values in C style reverse order like
[ -eq == $1 ]
, use quotes: [ "-eq" == "$1" ]
.
Also, it's pointless since [ a = b ]
doesn't assign.
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.