Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
bash中的循环条件_Bash_Loops_Infinite Loop - Fatal编程技术网

bash中的循环条件

bash中的循环条件,bash,loops,infinite-loop,Bash,Loops,Infinite Loop,在bash脚本中,下面的while循环应该打印1到4个数字 但这是一个无限循环的结果 COUNT=1 while [ $COUNT < 5 ]; do echo $COUNT COUNT=$(($COUNT+1)) done COUNT=1 而[$COUNT

在bash脚本中,下面的while循环应该打印1到4个数字

但这是一个无限循环的结果

COUNT=1

while [ $COUNT < 5 ];
do
  echo $COUNT
  COUNT=$(($COUNT+1))
done
COUNT=1
而[$COUNT<5];
做
echo$COUNT
计数=$($COUNT+1))
完成

条件或语法是否有任何错误?(我想是的…

使用
-lt
而不是
接受…是的,这将解决问题,我的问题是什么?如果需要进一步澄清,请告诉我。答案被接受。更多细节将不胜感激:)我想我已经提供了我的建议,即使用最后一个for循环,看看你的代码有多干净。BASH已经改变了很多,因此可以更好地适应现代语法,并尽可能地抛弃
[
命令。
COUNT=1; while [ $COUNT -lt 5 ]; do   echo $COUNT;   COUNT=$(($COUNT+1)); done
1
2
3
4
COUNT=1; while (( COUNT < 5 )); do echo $COUNT; ((COUNT++)); done
for (( COUNT=1; COUNT<5; COUNT++ )); do echo $COUNT; done