在以下代碼中,將相同的字母添加到比較的兩個操作數都會更改結果。儘管-
不大於j
,-k
大於jk
。if語句中減號和單引號會起什麼作用?
僅當其中一個操作數是減號(-
)或單引號('
)時纔會發生這種情況。
爲什麼會出現這種情況?規則是什麼?
if - gtr j (echo - greater than j) else echo - less than j
if "-" gtr "j" (echo "-" greater than "j") else echo "-" less than "j"
echo.
if -k gtr jk (echo -k greater than jk) else echo -k less than jk
if "-k" gtr "jk" (echo "-k" greater than "jk") else echo "-k" less than "jk"
echo.
if ' gtr u (echo ' greater than u) else echo ' less than u
if "'" gtr "u" (echo "'" greater than "u") else echo "'" less than "u"
echo.
if 'v gtr uv (echo 'v greater than uv) else echo 'v less than uv
if "'v" gtr "uv" (echo "'v" greater than "uv") else echo "'v" less than "uv"
結果是:
- less than j
"-" less than "j"
-k greater than jk
"-k" greater than "jk"
' less than u
"'" less than "u"
'v greater than uv
"'v" greater than "uv"
謝謝!我需要更多關於這方面的研究。 – neorobin 2012-05-02 17:33:41