i=0
if [$i -eq 0]
then
echo "i is equal to 0"
else
echo "NOT EQUAL <><><><><><><><><><><><><><><><><><><>"
fi
它是一個bash腳本的一部分,它總是需要else分支。我完全陌生,所以它可能是傻的東西有人可以幫我弄清楚爲什麼這不起作用?
i=0
if [$i -eq 0]
then
echo "i is equal to 0"
else
echo "NOT EQUAL <><><><><><><><><><><><><><><><><><><>"
fi
它是一個bash腳本的一部分,它總是需要else分支。我完全陌生,所以它可能是傻的東西有人可以幫我弄清楚爲什麼這不起作用?
你需要[ $i
而不是[$i
。
這是因爲[
是內置命令,而$i
應該是它的第一個參數。如果您錯過了命令和參數之間的空間,那麼shell將查找[$i
命令,並且在評估後會告訴您沒有[0
命令被執行。
''''之前'''之後需要空格。 '['是一個命令。
'[$ i -eq 0]'的替代方案可能是'((i == 0))' – potong 2011-12-22 21:39:09