2 SC2297
Joachim Ansorg edited this page 2021-11-15 11:29:04 +01:00

Double quotes must be outside ${}: ${"invalid"} vs "${valid}".

Problematic code:

echo ${"USER"}

Correct code:

echo "${USER}"

Rationale:

ShellCheck found a parameter expansion containing what appears to be a quoted variable name.

While the parameter expansion itself must be quoted, as in "${valid}", the quotes may not appear inside the {} as in ${"invalid"}.

Also note that translated strings like $"Hello" may not use curly braces.

Exceptions:

None

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