2013-09-30 196 views
0

我用shell腳本搞亂並停留在一些比較while循環shell腳本While循環

while [$size -le $MAX] 
do 
------ 
done 

上面的循環是行不通的。我究竟做錯了什麼 ?

回答

4

您沒有在[]附近的空格。

說:

while [ $size -le $MAX ] 

[是一個命令,也稱爲test。當您說[$size時,shell將其解釋爲字符串而不是命令。

+0

Thaanküdevnull和@dogbane的回答:

然而,如果你使用bash的算術表達式,而不是更具可讀性。這解決了我的頭痛。這個小小的空間激怒了我一點。 – Stunner

+0

@Stunner查看[this](http://stackoverflow.com/help/someone-answers)。 – devnull

0

您需要括號內的空格,如下所示:while [ $size -le $MAX ]

while ((size <= MAX)) 
do 

done