mirror of
https://github.com/koalaman/shellcheck.git
synced 2025-10-03 11:19:45 +08:00
Updated SC2140 (markdown)
@@ -12,12 +12,12 @@
|
||||
|
||||
This warning triggers when an unquoted literal string is found between two double quoted strings. In many such cases (like the example) the quotes were supposed to be literal, and should be escaped. Without escaping, the quotes are simply removed, resulting in `src=foo.png` instead of `src="foo.png"`.
|
||||
|
||||
In other cases, like `echo "$USER"@"$HOSTNAME"`, they are merely pointless and can be removed for improved readability: `echo "$USER@HOSTNAME"`.
|
||||
It's common not to realize that double quotes can span multiple elements. For example, the following strings are identical:
|
||||
|
||||
Note that in some of these cases, curly brackets would have to be added: `"$lastname"_"$firstname"` would be `"${lastname}_$firstname"`, otherwise it'd look for a variable named `$lastname_`.
|
||||
|
||||
It's common to quote individual parts of a path: `"$dir"/"$file"`. This is pointless and hard to read, but rarely indicates a bug. ShellCheck doesn't warn in this particular case.
|
||||
http://"$user":"$password"@"$host"/"$path"
|
||||
"http://$user:$password@$host/$path"
|
||||
|
||||
When ShellCheck detects the former style (i.e. the double quotes include only a single element each), it will suppress the warning.
|
||||
|
||||
### Contraindications
|
||||
|
||||
|
Reference in New Issue
Block a user