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!
-
Installation
-
Usage
-
Integrating and extending
Each individual ShellCheck warning has its own wiki page like SC1000. Use GitHub Wiki's "Pages" feature above to find a specific one, or see Checks.
<--- This is a global footer, please don't edit it. --->