我在当前的脚本中使用了以下内容
for x in {07..10}
尝试使用
将开始,结束变量传递给脚本for x in $(seq $1 $2)
由于序列从07开始,而07是我想要读取的文件名,因此无法将变量更改为7,因为在使用序列时会发生这种情况。能不能指出我正确的方向,因为我对bash没有多少经验。
答案 0 :(得分:0)
使用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