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