日期:2014-05-16  浏览次数:20521 次

bash shell 中的 for 循环
我写了这样一段bash代码

declare -i width=100
for w in {1..$width}
do
echo $w
done


然后报错了
[: {1..100}: integer expression expected

请问 for 循环里面那个 width 变量到底应该怎么样表示才正确呢.

------解决方案--------------------
方法1:
#!/bin/bash
START=1
END=100
for ((i=$START;i<=$END;i++)); do
    echo $i
done


方法2:
#!/bin/bash
START=1
END=100
for i in $(eval echo "{$START..$END}"); do
    echo "$i"
done