在以下代码中,将相同的字母添加到比较的两个操作数都会更改结果。尽管-
不大于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