使用 package.json 脚本在同一目录中复制多个文件?
Copying multiple files in the same directory using a package.json script?
这适用于命令行:
cp target/{sitemap.xml,robots.txt} ../fs-dtest-app/
但是如果我将命令放在 package.json
中的脚本标记内,如下所示:
"scripts": {
"c": "cp target/{sitemap.xml,robots.txt} ../fs-dtest-app/"
},
发生这种情况:
ole@mkt:~/Temp/dtest/fs-dtest-md$ cp target/{sitemap.xml,robots.txt} ../fs-dtest-app/
ole@mkt:~/Temp/dtest/fs-dtest-md$ npm run c
> @fireflysemantics/fs-dtest-md@1.0.1 c /home/ole/Temp/dtest/fs-dtest-md
> cp target/{sitemap.xml,robots.txt} ../fs-dtest-app/
cp: cannot stat 'target/{sitemap.xml,robots.txt}': No such file or directory
想法?
npm will use the /bin/sh
Bourne shell implementation 而不是用户当前的交互 shell,无论它是什么(或 cmd.exe
在 MS 平台上)。
在交互式 zsh 中 shell:
% echo [=10=]
zsh
运行 npm
来自同一个互动 shell:
% npm run shell
> so65660483-npm-shell@1.0.0 shell /so/so65660483-npm-shell
> echo [=11=]
sh
cp
在任何情况下都支持复制多个文件而不依赖 shell globbing:
cp target/sitemap.xml target/robots.txt ../fs-dtest-app/
这适用于命令行:
cp target/{sitemap.xml,robots.txt} ../fs-dtest-app/
但是如果我将命令放在 package.json
中的脚本标记内,如下所示:
"scripts": {
"c": "cp target/{sitemap.xml,robots.txt} ../fs-dtest-app/"
},
发生这种情况:
ole@mkt:~/Temp/dtest/fs-dtest-md$ cp target/{sitemap.xml,robots.txt} ../fs-dtest-app/
ole@mkt:~/Temp/dtest/fs-dtest-md$ npm run c
> @fireflysemantics/fs-dtest-md@1.0.1 c /home/ole/Temp/dtest/fs-dtest-md
> cp target/{sitemap.xml,robots.txt} ../fs-dtest-app/
cp: cannot stat 'target/{sitemap.xml,robots.txt}': No such file or directory
想法?
npm will use the /bin/sh
Bourne shell implementation 而不是用户当前的交互 shell,无论它是什么(或 cmd.exe
在 MS 平台上)。
在交互式 zsh 中 shell:
% echo [=10=]
zsh
运行 npm
来自同一个互动 shell:
% npm run shell
> so65660483-npm-shell@1.0.0 shell /so/so65660483-npm-shell
> echo [=11=]
sh
cp
在任何情况下都支持复制多个文件而不依赖 shell globbing:
cp target/sitemap.xml target/robots.txt ../fs-dtest-app/