Bash while循环语法错误

时间:2012-10-11 13:33:41

标签: bash while-loop

我正在尝试做一个简单的计数器:

max=100
count=1
while [[ $count -le $max]]
  do
    echo "$count"
    ((count++))
  done

这在do附近的条件表达式中给出了语法错误。

我的问题是什么? (可能是显而易见的事情)

然后我的想法是将max从100提升到200等等,这样我每次都会得到一个新的文件来操作python程序100行,但这里无关紧要

2 个答案:

答案 0 :(得分:2)

您的错误是[[ $count -le 100]]

需要多一个空格
max=100
count=1
while [[ $count -le $max ]]
do
    echo "$count"
    ((count++))
done

另一种解决方案:

while ((count < max+1)); do echo $((count++)); done

for ((i=count; i<max; i++)) { echo $i; }

for ((i=count; i<max; i++)); do echo $i; done

for i in {1..100}; do echo $i; done

答案 1 :(得分:1)

更改行:

while [[ $count -le 100]]

为:

while [[ $count -le 100 ]];

注意100之后的空格。

相关问题