Shell

Shell

Made by DeepSource

Opening and closing brackets do not match SH-1033

Bug risk
Critical

Found a test expression [ ... ] (POSIX) or [[ ... ]] (ksh/bash) 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 ]]

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 ]]