[[ but closed with single
]. Make sure they match.(or SC1034 for vice versa)
[[ -z "$var" ][[ -z "$var" ]]ShellCheck found a test expression [ ... ] (POSIX) or
[[ ... ]] (ksh/bash), but where the opening and closing
brackets did not match (i.e. [[ .. ] or
[ .. ]]). The brackets need to match up to work.
Note in particular that [..] do not work like
parentheses in other languages. You can not do:
# Invalid
[[ x ] || [ y ]]You would instead use two separate test expressions joined by
||:
# Valid basic test expressions (sh/bash/ksh)
[ x ] || [ y ]
# Valid extended test expressions (bash/ksh)
[[ x ]] || [[ y ]]None
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.