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
Prefer escape over ending quote to make $ literal. Instead of "It costs $"5, use "It costs \$5"
Problematic code:
echo"The apples are $""1 each"eval"var=$"name
Correct code:
echo"The apples are \$1 each"eval"var=\$name"# or better yet: var="${!name}"
Rationale:
The script appears to be closing a double quoted string for the sole purpose of making a dollar sign $ literal.
While this happens to work, the better solution is instead to escape it with a backslash. This allows the double quoted string to continue uninterrupted, thereby reducing the visual noise of stopping and starting quotes in the middle of a shell word.
Exceptions:
None
Related resources:
Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!