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
Joachim Ansorg edited this page Nov 12, 2021
·
2 revisions
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.
Related resources:
Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!