SC2256 – ShellCheck Wiki

See this page on GitHub

Sitemap


This translated string is the name of a variable. Flip leading $ and " if this should be a quoted substitution.

Problematic code:

var="foo"
echo $"var"

Correct code:

var="foo"
echo "$var"

Rationale:

$".." is a localized string, for example, echo $"Hello $USER" along with the proper translation files can be used to have the script say "Bonjour, youruser" in French locales.

In this case, ShellCheck found a localized string whose contents is also the name of a variable. This could have happened because the user wanted a far more common quoted substitution, e.g. "$var", but accidentally switched the leading $ and ".

Exceptions:

If you do want a localized string whose contents is also an active variable, you can ignore this warning or rename the variable.


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