mirror of
https://github.com/koalaman/shellcheck.git
synced 2025-10-03 19:29:44 +08:00
Created SC2288 (markdown)
34
SC2288.md
Normal file
34
SC2288.md
Normal file
@@ -0,0 +1,34 @@
|
||||
## This is interpreted as a command name ending with apostrophe. Double check syntax.
|
||||
|
||||
(also applies to multiple other characters like `.,([{<>}])#"'`)
|
||||
|
||||
### Problematic code:
|
||||
|
||||
```sh
|
||||
var=$("wget 'http://www.shellcheck.net/'")
|
||||
echo Usage: $0 {start|stop|restart}
|
||||
array=val1, val2, val3
|
||||
|
||||
```
|
||||
|
||||
### Correct code:
|
||||
|
||||
```sh
|
||||
var="$(wget 'http://www.shellcheck.net/')"
|
||||
echo "Usage: $0 {start|stop|restart}"
|
||||
array=(val1 val2 val3)
|
||||
```
|
||||
|
||||
### Rationale:
|
||||
|
||||
ShellCheck found a command name ending with a symbol, such as a comma, parenthesis, quote, or similar. This is almost always due to a syntax issue in the script.
|
||||
|
||||
In the examples, bad quoting and invalid array syntax caused the shell to try to run commands ending in apostrophe, curly brace, and comma, respectively.
|
||||
|
||||
### Exceptions:
|
||||
|
||||
If you have a command that *does* end in a symbol, you can ignore this message.
|
||||
|
||||
### Related resources:
|
||||
|
||||
* Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!
|
Reference in New Issue
Block a user