【发布时间】:2013-09-22 20:55:38
【问题描述】:
这段代码
echo {1..7}
打印1 2 3 4 5 6 7。
但是这段代码
t=7
echo {1..$t}
打印{1..7}。
如何让{1..$t} 扩展为1 2 3 4 5 6 7?
【问题讨论】:
-
扩展顺序请参见the bash manual。
标签: bash
这段代码
echo {1..7}
打印1 2 3 4 5 6 7。
但是这段代码
t=7
echo {1..$t}
打印{1..7}。
如何让{1..$t} 扩展为1 2 3 4 5 6 7?
【问题讨论】:
标签: bash
你没有。使用例如seq 为此,因为大括号扩展是在任何其他扩展之前执行的,eval 是邪恶的 :-)
$ a=5
$ seq 1 $a
1
2
3
4
5
【讨论】:
在 shell 脚本中使用 eval(evaluate)。
eval echo {1..$t}
【讨论】: