OK. I never thought about that.
It is functionally equivalent, but not as readable as >= and <=.
For the same logic, for arithmetic operators, we could use ((! (x< y)
)) and ((! (x > y) )). But there are still >= and <= for arithmetic
operators. Why don't have >= and <= for strings?
On 1/16/23, Kerin Millar <kfm@plushkava.net> wrote:
On Mon, 16 Jan 2023 12:01:12 -0600
Peng Yu <pengyu.ut@gmail.com> wrote:
string1 < string2
True if string1 sorts before string2 lexicographically.
string1 > string2
True if string1 sorts after string2 lexicographically.
According to the manual, >= and <= are not available for string
comparison. But if >= and <= are available for arithmetic expression.
Why >= and <= can not be introduced for string comparison? Currently,
as a walkaround, I have to use > and = for >=, and < and = for <=. It
is rather cumbersome to write bash code in this way.
This is not a response to the question itself but the penultimate sentence
isn't true. [[ ! str1 < str2 ]] and [[ ! str1 > str2 ]] would also do.
--
Kerin Millar