我正在尝试在bash中编写一个for
循环,以便可以将数字从1迭代到大于10的数字。在数字只有一位的情况下,应在其中添加零它的左侧(如01
)。
我为此找到的解决方案是:
for i in 0{1..9} {10..43}; do
echo "stuff$i.txt"
done
这可行,但是我想将上限作为变量,所以我尝试了这一点:
max_test=43
for i in 0{1..9} {10..$max_test}; do
echo "stuff$i.txt"
done
运行此脚本时,该脚本会打印出来
stuff01.txt
stuff02.txt
...
stuff09.txt
stuff{10..43}.txt
我找到了this answer,但是在我的情况下,由于该一位数字的条件,我需要2个for
循环。做我想要的最好的方法是什么?
提前谢谢
答案 0 :(得分:1)
您不能在括号扩展中使用变量,因为括号扩展是在变量扩展之前完成的。您可以使用seq
例如
max=43
seq -w 1 "$max"