Linux

當x = abc時,怎麼會?[$x>123[$X>123[ $x > 123] && 迴聲是 ||echo no 返回是?

  • February 12, 2017

我知道這是一個字元串比較,但是我不明白“abc”和“123”是如何相互比較的。提前致謝!

那是因為在內部[[…]],運算符 < 和 > 進行字元串比較。

在進行字元串比較時,順序(基本上)由字母表給出,其中 a 在(小於)b 之前(小於)並且小於 c: a &lt; b &lt; c

數字通常在(小於)字母之前:1 &lt; 2 &lt; a

因此,作為 aa之後的排序1 abc大於123

$ [[ abc &gt; 123 ]] && echo yes
yes

或者,當您介紹它時:

$ x=abc    y=123
$ [[ $x &gt; $y ]] && echo yes
yes

引用自:https://unix.stackexchange.com/questions/344301