Created SC2288 (markdown)

Vidar Holen
2021-06-05 18:52:08 -07:00
parent 0121fe5bd3
commit fa60b8a179

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!