繁体   English   中英

在Node中同步执行多个Shell命令

[英]Execute multiple shell commands synchronously in Node

我的工作代码完全可以实现我想要的功能,但是我对使用的方法不满意,因为它无法很好地扩展。

假设我要执行4个命令,一个接一个,以克隆存储库并将签出到本地文件夹:

//shell command
var cmd = "cd /Users/xxxx/Documents/DESIGN" +
          " && git clone https://github.com/xxxx/xxxx.git testing" + 
          " && cd testing" +
          " && git checkout 4.0"; 

//execute shell command
var exec = require("child_process").exec;
exec(cmd, function(err, stdout, stderr){
  if (err) console.log(err);
  console.log(stdout);
});

有没有一种方法可以干净地执行多个命令并使其具有更高的可伸缩性,而无需仅通过&&将它们添加到原始命令字符串中以将它们连接起来?

您可以做很多事情。 最简单的方法是使用execSync ,然后一个接一个地执行命令。

因为您需要一个又一个地执行命令,所以这就是我要解决的问题。

如果要坚持使用异步模式,请使用control-flow-lib,如stepasync

您甚至可以使用诸如bluebird之类的lib来使exec承诺。

这完全取决于个人编码的偏好和您需要完成的任务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM