bash大括号功能在与变量一起使用时会失败?

时间:2016-03-30 20:36:50

标签: bash

我正在尝试使用bash列出当前目录中的文件* {num1..num2} .txt

我尝试使用bash大括号功能

ls *{10..20}.txt

,哪个有效。但是,当我首先设置变量num1和num2然后使用

num1=10
num2=20
ls a{${num1}..${num2}}.txt

,实际上失败了。我使用bash -x进行调试,发现bash会自动将单引号添加到字符串a{${num1}..${num2}}.txt,这非常奇怪。

你有解决方法吗?

感谢。

1 个答案:

答案 0 :(得分:0)

$ n=3; echo {"$n"..5}
{3..5}

所以你需要评估结果

$ n=3; eval echo {"$n"..5}
3 4 5