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