SC2247 – ShellCheck Wiki

See this page on GitHub


Flip leading $ and " if this should be a quoted substitution.

Problematic code:


Correct code:



ShellCheck has found a $"( or $"{ . This is most likely due to flipping the dollar-sign and double quote:

echo $"(cmd)"  # Supposed to be "$(cmd)"
echo $"{var}"  # Supposed to be "${var}"

Instead of quoted substitutions, these will be interpreted as localized string resources ($"..") containing literal parentheses or curly braces. If this was not intentional, you should flip the " and $ like in the example.


If you intentionally wanted a localized string literal $".." that starts with ( or {, either ignore this error or start it with a different character.

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