SC2297 – ShellCheck Wiki

See this page on GitHub


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

Problematic code:

echo ${"USER"}

Correct code:

echo "${USER}"


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.



ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.