-eq
is
for integer comparisons. Use =
instead.[[ $foo -eq "Y" ]]
[[ $foo = "Y" ]]
Shells have two sets of comparison operators: for integers
(-eq
, -gt
, ...) and strings (=
,
>
, ...). ShellCheck has noticed that you're using an
integer comparison with string data.
If you are in fact comparing integers, double check your parameters.
Certain mistakes like $$foo
or ${bar}}
can
introduce non-numeric characters into otherwise numeric arguments.
None.
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.