Linux
當x = abc時,怎麼會?[$x>123[$X>123[ $x > 123] && 迴聲是 ||echo no 返回是?
我知道這是一個字元串比較,但是我不明白“abc”和“123”是如何相互比較的。提前致謝!
那是因為在內部
[[…]]
,運算符 < 和 > 進行字元串比較。在進行字元串比較時,順序(基本上)由字母表給出,其中 a 在(小於)b 之前(小於)並且小於 c:
a < b < c
。數字通常在(小於)字母之前:
1 < 2 < a
因此,作為 a
a
之後的排序1
abc
大於123
:$ [[ abc > 123 ]] && echo yes yes
或者,當您介紹它時:
$ x=abc y=123 $ [[ $x > $y ]] && echo yes yes