在调试文件夹中的Uglifyjs文件并将它们移动到release文件夹

时间:2014-06-19 19:03:37

标签: javascript linux node.js bash

我想在我的debug/js文件夹中uglifyjs我的文件并将它们移动到release/js文件夹。我的bash脚本位于debug和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

不幸的是,这根本不起作用。它只是在*.js中创建了一个release/js文件,这不是我想要的。我做错了什么?

这就是我真正想要的:

...
├── release
|   ├── js
|   |   ├── a.js
|   |   ├── b.js
|   |   ├── c.js

1 个答案:

答案 0 :(得分:0)

来自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/"*或删除双引号,因为路径中没有空格或其他特殊字符,可以正常工作。