Javascript 调试文件夹中的Uglifyjs文件,并将其移动到发布文件夹

Javascript 调试文件夹中的Uglifyjs文件,并将其移动到发布文件夹,javascript,linux,node.js,bash,Javascript,Linux,Node.js,Bash,我想在debug/js文件夹中添加我的文件,并将它们移动到release/js文件夹。我的bash脚本位于debug and release的根目录中: . ├── release.sh ├── debug | ├── js | | ├── a.js | | ├── b.js | | ├── c.js ├── release | ├── js 到目前为止,我得到的是: for file in "debug/js/*" do fileName=$(base

我想在debug/js文件夹中添加我的文件,并将它们移动到release/js文件夹。我的bash脚本位于debug and release的根目录中:

.
├── release.sh
├── debug
|   ├── js
|   |   ├── a.js
|   |   ├── b.js
|   |   ├── c.js
├── release
|   ├── js
到目前为止,我得到的是:

for file in "debug/js/*"
do
    fileName=$(basename "$file")
    uglifyjs $file > "release/js/$fileName.js"
done
不幸的是,这根本不起作用。它只是在release/js中创建了一个*.js文件,这不是我想要的。我做错了什么

这就是我真正想要的:

...
├── release
|   ├── js
|   |   ├── a.js
|   |   ├── b.js
|   |   ├── c.js
从bash手册页

Enclosing  characters  in  double quotes preserves the literal value of
all characters within the quotes, with the exception of $, `,  \,  and,
when  history  expansion  is enabled, !. 

因此,将*移到双引号之外,debug/js/*或同时删除双引号,因为路径中没有空格或其他特殊字符,这样做是可行的。

*不会以双引号展开,因为debug/js/*中的文件应该work@BroSlow谢谢这就成功了。如果你愿意,回答我,我就接受完成了,很高兴它有帮助。考虑到您的树,这显然无关紧要,但您可能还希望引用$file和子shell周围的$basename$file,以防您的文件名将来有一些特殊字符。