0

我搞乱了 shell 脚本,并在 while 循环中陷入了一些比较

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

上面的循环不起作用。我究竟做错了什么 ?

4

2 回答 2

4

[和周围没有空格]

说:

while [ $size -le $MAX ] 

[是一个命令,也称为test. 当您说[$size时,shell 将其解释为字符串而不是命令。

于 2013-09-30T13:39:17.020 回答
0

您需要括号周围的空格,如下所示:while [ $size -le $MAX ].

但是,如果您使用 bash 的算术表达式,它的可读性会更高:

while (( size <= MAX )) 
do

done
于 2013-09-30T14:25:00.540 回答