1
在一個shell腳本,我寫了下面幾行腳本的執行過程中給了錯誤整數表達式有望測試或條件,如果其他的bash腳本
if [ p -eq 35 -o p -eq 70 ]; then
echo "Sleeping ....zzz ........zzzz......."
sleep 5
得到以下錯誤
/d2.sh: line 6: [: p: integer expression expected
在一個shell腳本,我寫了下面幾行腳本的執行過程中給了錯誤整數表達式有望測試或條件,如果其他的bash腳本
if [ p -eq 35 -o p -eq 70 ]; then
echo "Sleeping ....zzz ........zzzz......."
sleep 5
得到以下錯誤
/d2.sh: line 6: [: p: integer expression expected
你可能想$p
代替p
:
if [ $p -eq 35 -o $p -eq 70 ]; then
...
感謝您指出了這一點。 – 2012-01-12 12:34:51
只能在'((...))'算術表達式中使用不帶'$'的變量名。 – choroba 2012-01-12 13:14:27
@ l0b0:不,'[[]]'仍然需要'$'來展開變量。 @choroba:注意你需要在'(())','012','<', '>','''等內部使用不同的運算符,而不是'-eq','-lt','-gt', '-o' ... – 2012-01-12 17:21:19