\<
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.