Skip to content
Joachim Ansorg edited this page Nov 12, 2021 · 2 revisions

Unexpected parameters after condition. Missing &&/||, or bad expression?

Problematic code:

[ "$1" ] input="$1"

Correct code:

[ "$1" ] && input="$1"

Rationale:

ShellCheck found characters (other than redirections) after the ] or ]] in a test expression. This is not valid.

This sometimes happens when there was an additional expression or command, but joining || or && is missing. Alternatively, it could happen due to typos (like [[ $1 ]]] with an extra ]), or generally from malformed test expressions.

Exceptions:

None

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