为什么foo {bar,baz}没有扩展到" foobar"和" foobaz"?

时间:2017-10-05 12:21:14

标签: shell unix

我的目录中有两个文件:

com.my.arsys.core.js
com.my.arsys.core-libs.js

现在我想使用globbing模式(花括号)匹配这些并将它们复制到a文件夹,以便运行以下内容:

cp com.my.arsys.{core, core-libs}.js a

但是我收到以下错误:

cp: cannot stat 'core,': No such file or directory
cp: cannot stat 'core-libs,': No such file or directory

我认为问题在于语法。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

你有一个额外的空白,试试:

cp com.my.arsys.{core,core-libs}.js a

关于 Brace Expansion 的bash man:

  

正确形成的大括号扩展必须包含不带引号的开括号和右大括号,以及至少一个不带引号的逗号或有效的序列表达式。任何不正确形成的大括号扩展都保持不变。