diff --git a/SC1140.md b/SC1140.md new file mode 100644 index 0000000..c51c33c --- /dev/null +++ b/SC1140.md @@ -0,0 +1,26 @@ +## Unexpected parameters after condition. Missing &&/||, or bad expression? + +### Problematic code: + +```sh +[ "$1" ] input="$1" +``` + +### Correct code: + +```sh +[ "$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! \ No newline at end of file