我有这个有效的代码:
$ array=( {100..300..100} )
$ for k in ${array[@]} ; do echo $k ; done
100
200
300
我想参数化起点和终点(以及增量,因为为什么不这样?) 我尝试过:
$ low=100
$ high=300
$ incr=100
$ array=( {$low..$high..$incr} )
但这没用:
$ for k in ${array[@]} ; do echo $k ; done
{100..300..100}
我在做什么错了?
答案 0 :(得分:0)
来自bash手册:
序列表达式的格式为
{x..y[..incr]}
,其中x和y是整数或单个字符,而incr(可选的增量)是整数
因此,不会在x
,y
和incr
上执行参数和变量扩展。您应该使用seq
:
arr=( $(seq $low $incr $high) )