如何迭代变量?
问题描述:
我用我的当前脚本如何迭代变量?
for x in {07..10}
下试图传递起点,终点变量脚本使用
for x in $(seq $1 $2)
由于序列从07开始,07是一个文件名我想读,我不能将变量更改为7,因为它发生在使用序列时。你能否指点我正确的方向,因为我没有太多的bash经验。
答
使用printf
得到的数字格式,你想:
for ((x=7; x<=10; x++)); do
str=$(printf "%02d" "$x")
echo filename${str}.txt
done
结果是这样的:
$ for ((x=7; x<=10; x++)); do str=$(printf "%02d" "$x"); echo filename${str}.txt; done
filename07.txt
filename08.txt
filename09.txt
filename10.txt
适用于变量,太:
$ start="07"
$ end="10"
$ for ((x=$start; x<=$end; x++)); do str=$(printf "%02d" "$x"); echo filename${str}.txt; done
filename07.txt
filename08.txt
filename09.txt
filename10.txt
感谢您的链接,我认为这与我的问题相关 – Sushant