]. Missing semicolon/linefeed?
if [ -e "foo.txt" ]: then "Exists" echo fi
if [ -e "foo.txt" ]; then echo "Exists" fi
ShellCheck found unexpected characters after the
]] 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
]] is not immediately followed by another shell word character.
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.