【发布时间】:2014-08-15 01:32:21
【问题描述】:
在正在开发(即不稳定)的 Node.js 版本中,同步子进程调用 are now available。这对于编写 shell 脚本来说是个好消息,因为它允许这样的代码:
var history = child_process.execSync('git log', { encoding: 'utf8' });
process.stdout.write(history);
但是,对于针对当前稳定版本 Node.js (v0.10.30) 的代码,同步子进程调用是 not available,但通过外部库除外。两个最受欢迎的此类库似乎是 shelljs 和 exec-sync。
对于打算与 v0.10.x 一起使用的 shell 脚本,并且必须调用二进制文件或其他可执行文件并处理它们的输出,这两个库或其他类似库的相对优缺点是什么?如果合适,请提供代码示例以进行说明。
【问题讨论】:
-
虽然这是一个写得很好的问题,但这可能会因为过于基于意见而被关闭:-/
-
谢谢。我希望它不会被关闭,因为它看起来非常合适:本质上是对 this question 的改进。但是,如果您认为我应该将其标记为迁移到 softwarerecs.stackexchange.com 或类似网站,请务必说明
-
嗯,我也不知道是不是on-topic there。
-
好吧,我不是在征求意见,我是在询问两种精确指定的替代编程策略的具体优点/缺点(在这种情况下,使用一个库与使用另一个库,用于相同的任务)。多年来,此类问题已在 SO 上提出和回答。无论如何,在 SO/SE 上有inclusionism 的空间:)
标签: javascript node.js shell popen command-line-interface