Skip to content
Vidar Holen edited this page Jun 6, 2021 · 1 revision

This is interpreted as a command name ending with apostrophe. Double check syntax.

(also applies to multiple other characters like .,([{<>}])#"')

Problematic code:

var=$("wget 'http://www.shellcheck.net/'")
echo Usage: $0 {start|stop|restart}
array=val1, val2, val3

Correct code:

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!

ShellCheck

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.

Clone this wiki locally