eval "$MYCOMMAND ${@@Q}"
eval "$MYCOMMAND ${*@Q}"
ShellCheck noticed that you are calling eval
and
including an escaped array. However, the array is passed as multiple
arguments and relies on being implicitly joined together to form a
single shell string, which eval
can then evaluate.
Instead, prefer building your shell string with explicit string
concatenation by using *
instead of @
for the
index, such as ${*@Q}
or ${array[*]@Q}
.
This suggestion is equivalent to SC2124, but for
eval
arguments rather than string variables.
None.
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.