当变量给定范围时,如何在Bash中迭代数字范围?
我知道我可以做到这一点(在Bash 文档中称为“序列表达式” ):
for i in {1..5}; do echo $i; done
这使:
1
2
3
4
5
但是,如何用变量替换两个范围端点?这不起作用:
END=5
for i in {1..$END}; do echo $i; done
哪些打印:
{1..5}
for i in {01..10}; do echo $i; done
将给出类似的数字01, 02, 03, ..., 10
。
myarray=('a' 'b' 'c'); for i in ${!myarray[@]}; do echo $i; done
请注意感叹号)。它比原始问题更具体,但可以提供帮助。请参阅bash参数扩展
{jpg,png,gif}
此处未直接解决的表达式,尽管答案是相同的。看到带变量的括号扩展?[duplicate]标记为与此副本的副本。