我知道这是一个字符串比较,但是我不明白“abc”和“123”如何相互比较。提前致谢!
答案1
这是因为,在 内部[[…]]
,运算符 < 和 > 进行字符串比较。
在进行字符串比较时,顺序(基本上)由字母表给出,其中 a 比 b 早(小)且比 c: 小a < b < c
。
数字通常位于字母之前(小于字母):1 < 2 < a
因此,作为a
a1
abc
大于后的排序123
:
$ [[ abc > 123 ]] && echo yes
yes
或者,正如您所介绍的:
$ x=abc y=123
$ [[ $x > $y ]] && echo yes
yes