Javascript 调试文件夹中的Uglifyjs文件,并将其移动到发布文件夹
我想在debug/js文件夹中添加我的文件,并将它们移动到release/js文件夹。我的bash脚本位于debug and release的根目录中: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
.
├── 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,以防您的文件名将来有一些特殊字符。