如何使用变量作为范围上限

时间:2018-09-04 14:38:58

标签: bash shell

bash脚本中存在以下问题。我正在尝试使用变量N作为简单范围的上限,例如

#!/bin/bash

N=10

for n in {1..$N};
do
    echo $n
done;

但是,上面的代码没有显示循环中的每个数字,而是显示{1..10}。如果我将$N的值更改为10,则一切正常。如何克服这个问题并将变量用作范围的上限?

1 个答案:

答案 0 :(得分:1)

您不能这样做,相反:

n=10
for ((i=0; i<=n; i++)); do
    echo $i
done

或:

n=10
for i in $(seq 0 $n); do
    echo $i
done