【问题标题】:Brace expansion with numbers in bash [duplicate]用bash中的数字进行大括号扩展[重复]
【发布时间】: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?

【问题讨论】:

标签: bash


【解决方案1】:

你没有。使用例如seq 为此,因为大括号扩展是在任何其他扩展之前执行的,eval 是邪恶的 :-)

$ a=5

$ seq 1 $a
1
2
3
4
5

【讨论】:

【解决方案2】:

在 shell 脚本中使用 eval(evaluate)。

eval echo {1..$t}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-05
    • 2012-03-09
    • 1970-01-01
    • 2016-01-10
    • 1970-01-01
    • 2015-12-10
    相关资源
    最近更新 更多