一尘不染

node.js同步执行系统命令

node.js

我需要在 node.js 函数中

result = execSync('node -v');

它将 同步 执行给定的命令行并返回该命令文本的所有标准输出。

ps。同步是错误的。我知道。仅供个人使用。

更新

现在我们有了mgutz的解决方案,该解决方案为我们提供了退出代码,但没有stdout!仍在等待更精确的答案。

更新

mgutz 更新了他的答案,解决方案在这里:)
另外,如 dgo.a 所述,有独立的模块exec-sync

更新2014-07-30

ShellJS库到达。考虑到这是目前的最佳选择。


更新2015-02-10

最后! NodeJS 0.12 execSync本机支持。
查看官方文件


阅读 207

收藏
2020-07-07

共1个答案

一尘不染

Node.js(从0.12版开始-
已有一段时间)支持execSync

child_process.execSync(command[, options])

您现在可以直接执行以下操作:

const execSync = require('child_process').execSync;
code = execSync('node -v');

它会做您期望的。(默认将I /
O结果通过管道传递给父进程)。请注意,您spawnSync现在也可以。

2020-07-07