\<is required in
[..], but invalid in
[[ aardvark \< zebra ]]
[[ aardvark < zebra ]]
[ is considered a normal command name, so
> are interpreted as redirections. When using the lexicographical string operators
[ .. ], they must be escaped (e.g.
[[ is considered its own grammatical construct, and therefore it does not require (nor does it allow) escaping
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.