我在Node.js项目上工作,经常在bash中运行一个如下命令:
path/to/file/1 --flags path/to/file/2 --flags somecommand
命令大致相同,我只会一直更改path/to/file/2
。现在我想在我的package.json
文件中实现一个脚本,这样我就可以运行这样的东西:
npm run scriptcommand path/to/file/2
我对bash不太了解,但我觉得我需要在package.json
文件中找到类似的内容:
{
"scripts": {
"scriptcommand": "path/to/file/1 --flags $1 --flags somecommand"
}
}
是否有可能用path/to/file/2
替换上述示例中的变量,这样我就可以在每次运行时设置不同的路径?
答案 0 :(得分:1)
您可以尝试以下操作:
"scripts": {
"scriptcommand": "/bin/echo --flags $FLAGS --flags somecommand"},
FLAGS =“path / to / file / 2”npm run scriptcommand
基本上,您设置了一个环境变量,您可以在脚本命令中使用它。
答案 1 :(得分:1)
制作一个新文件来保存您的脚本
scriptcommand.sh
#!/usr/bin/env bash
path/to/file/1 --flags $1 --flags somecommand
可能需要chmod it
sudo chmod +x scriptcommand.sh
的package.json
{
"scripts": {
"scriptcommand": "scriptcommand.sh"
}
}
然后运行它
npm run scriptcommand -- "path/to/file/2"
注意--
这告诉npm将任何剩余的参数传递给你的脚本。