bash中的循环条件



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

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

COUNT=1
while [ $COUNT < 5 ];
do
  echo $COUNT
  COUNT=$(($COUNT+1))
done

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

使用 -lt 而不是 <

COUNT=1; while [ $COUNT -lt 5 ]; do   echo $COUNT;   COUNT=$(($COUNT+1)); done
1
2
3
4

带有 [ 的 BASH 语法无法识别>, <, <=, >=等运算符。检查man test

更好的是在(( and ))中使用算术处理:

COUNT=1; while (( COUNT < 5 )); do echo $COUNT; ((COUNT++)); done

或使用for loop

for (( COUNT=1; COUNT<5; COUNT++ )); do echo $COUNT; done

相关内容

  • 没有找到相关文章

最新更新