小编典典

node.js 同步执行系统命令

all

我需要在 node.js 函数中

result = execSync('node -v');

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

附言。同步错误。我知道。仅供个人使用。

更新

现在我们有了 mgutz 的解决方案,它给了我们退出代码,但没有标准输出!仍在等待更准确的答案。

更新

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

更新 2014-07-30

ShellJS库到了。考虑这是目前最好的选择。


更新 2015-02-10

最后! NodeJS 0.12 原生支持execSync
见官方文档


阅读 44

收藏
2022-07-01

共1个答案

小编典典

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

child_process.execSync(command[, options])

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

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

它会做你所期望的。(默认将 i/o
结果通过管道传输到父进程)。请注意,您现在也可以spawnSync

2022-07-01