具体场景:
在命令行需要依次执行a,b,c三个命令(类似yarn build这种命令),其中每个命令的执行依赖前一个命令的执行结果,即
a() → b(a执行结果) → c(b执行结果) → 结束
例如:
a命令:yarn a
b命令:yarn b --tar=[a命令结果]
c命令:yarn c --tar=[b命令结果]
当前现状是手动依次去执行这三个命令,非常容易出错,请问如何操作可以让这三个命令自动去顺序执行,每个命令自动获取前一个命令的结果?
具体场景:
在命令行需要依次执行a,b,c三个命令(类似yarn build这种命令),其中每个命令的执行依赖前一个命令的执行结果,即
a() → b(a执行结果) → c(b执行结果) → 结束
例如:
a命令:yarn a
b命令:yarn b --tar=[a命令结果]
c命令:yarn c --tar=[b命令结果]
当前现状是手动依次去执行这三个命令,非常容易出错,请问如何操作可以让这三个命令自动去顺序执行,每个命令自动获取前一个命令的结果?
{
"scripts": {
"a": "your-build-command",
"b": "your-test-command",
"c": "your-deploy-command",
"all": "npm run a && npm run b && npm run c"
}
}
最后npm run all
谢邀,可以用shell脚本实现
#!/bin/bash
# 执行a命令
yarn a
# 获取a命令的执行结果,并传递给b命令
resultA=$(yarn a)
yarn b --tar="$resultA"
# 获取b命令的执行结果,并传递给c命令
resultB=$(yarn b)
yarn c --tar="$resultB"
保存脚本文件后,通过在命令行执行bash your-script.sh来运行脚本就可以了,另外看到了上面某些回答提到了用nodejs的办法,建议是在执行时请确保您已经安装了相应的依赖,免得报错,通常来说环境配置也很重要。
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
6 回答2.4k 阅读
5 回答6.4k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
3 回答2.6k 阅读✓ 已解决
执行yarn run start就会依次执行abc