diff --git a/SC1136.md b/SC1136.md new file mode 100644 index 0000000..ab0210e --- /dev/null +++ b/SC1136.md @@ -0,0 +1,32 @@ +## Unexpected characters after terminating `]`. Missing semicolon/linefeed? + +### Problematic code: + +```sh +if [ -e "foo.txt" ]: then + echo "Exists" +fi +``` + +### Correct code: + +```sh +if [ -e "foo.txt" ]; then + echo "Exists" +fi +``` +### Rationale: + +ShellCheck found unexpected characters after the `]` or `]]` in a `test` expression. In the example, a colon was accidentally used instead of a semicolon. + +Similarly, a missing space before a comment (`[ -e foo ]#comment`), an additional square bracket (`[[ -e foo ]]]`), or a missing semicolon before a `then` on the same line (`if [ foo ]then`) can cause this warning. + +Make sure the `]` or `]]` is not immediately followed by another shell word character. + +### Exceptions: + +None + +### Related resources: + +* Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc! \ No newline at end of file