【发布时间】:2011-05-25 12:32:33
【问题描述】:
我需要 node.js 函数
result = execSync('node -v');
这将同步执行给定的命令行并返回该命令文本的所有标准输出。
ps。同步错误。我知道。仅供个人使用。
更新
现在我们有了 mgutz 的解决方案,它给了我们退出代码,但没有标准输出!仍在等待更准确的答案。
更新
mgutz 更新了他的答案,解决方案就在这里 :)
另外,正如 dgo.a 提到的,有独立模块 exec-sync
2014 年 7 月 30 日更新
ShellJS lib 到了。认为这是目前最好的选择。
2015 年 2 月 10 日更新
终于! NodeJS 0.12 原生支持 execSync。
见官方docs
【问题讨论】:
-
别让自己上当了,同步并没有错……即使在 NodeJS 中,你的所有代码都会同步执行,除非你显式调用异步方法……如果 everything i> 以异步方式完成 nothing 永远不会完成。此外,更喜欢异步方法并不意味着您的冗长计算不会阻塞您的服务器。这是一个选择。 Node 的制造商选择提供同步文件系统方法和异步文件系统方法只是表明这些方法也有一席之地。
-
在哪里可以找到您所说的“Unix shell 仿真库”?
-
@Florian 他的意思是ShellJS
标签: javascript command node.js exec sync