You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When eval'ing @Q-quoted words, use * rather than @ as the index.
Problematic code:
eval"$MYCOMMAND${@@Q}"
Correct code:
eval"$MYCOMMAND${*@Q}"
Rationale:
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.
Exceptions:
None.
Related resources:
Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!