[..](..)
, use ( .. )
.[[ [ a || b ] && c ]]
[ [ a -o b ] -a c ]]
[[ ( a || b ) && c ]]
[ \( a -o b \) -a c ]] # or { [ a ] || [ b ]; } && [ c ]
[ .. ]
should not be used to group subexpressions inside
[[ .. ]]
or [ .. ]
statements.
For [[ .. ]]
, use regular parentheses.
For [ .. ]
, either use escaped parentheses, or
preferably rewrite the expression into multiple [ .. ]
joined with &&
, ||
and
{ ..; }
groups. The latter is preferred because
[ .. ]
is undefined for more than 4 arguments in POSIX.
None
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.