[ a && b ], use
[ a ] && [ b ].[ "$1" = "-v" && -z "$2" ][ "$1" = "-v" ] && [ -z "$2" ]&& can not be used in a [ .. ] test
expression. Instead, make two [ .. ] expressions and put
the && between them.
None.
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.