有沒有這樣的限制:-eq: 適用于或偏向于 "數字相等"= : 選用于或偏向于 "字符串相等"Bash shell 中 "-eq" 與 "=" 等價嗎?
2 回答

Helenr
TA貢獻1780條經驗 獲得超4個贊
RTFM
$ man test
STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2

慕尼黑5688855
TA貢獻1848條經驗 獲得超2個贊
準確來說是適用對象不同:-eq
和 =
都可以用來條件測試進行判斷兩個操作對象是否相同,但是有如下區(qū)別:-eq
適用于整數數字,不能進行字符串的條件測試=
既適用于數字,又適用于字符串。
我做了下測試:
$ [ 1 -eq 1 ] && echo "ok"ok $ [ 1 = 1 ] && echo "ok"ok $ [ "a" -eq "a" ] && echo "ok"sh: [: a: 需要整數表達式 $ [ "a" = "a" ] && echo "ok"ok
添加回答
舉報
0/150
提交
取消