【发布时间】:2016-08-24 09:40:28
【问题描述】:
首先,我是一个完全的菜鸟,昨天开始使用 Node.JS(这也是我多年来第一次使用 Linux)所以请保持友好和明确
我目前正在制作一个 Node.JS 程序,除其他外,它必须启动 shell 命令(主要是:安装 USB 驱动器)。 我目前正在使用
var spawn = require('child_process').spawnSync;
function shspawn(command) {
spawn('sh', ['-c', command], { stdio: 'inherit' });
}
shspawn('echo Hello world');
shspawn('mkdir newdir');
等等。这对我来说是一种非常舒适的方式。 问题是我想将例如“ls”命令的输出存储在一个变量中,就像
var result = shspawn('ls -l')
我在网上阅读了一些示例,但他们很少使用 spawn,当他们这样做时,它对我不起作用(我想我可能做错了什么,但我还是 Node 中的菜鸟)
如果你们有比使用 child_process_spawnSync 更好的想法,我愿意接受任何想法,但我希望尽可能保持我的程序无包 :)
编辑:我需要它同步工作!这就是我开始使用 spawnSync 的原因。我将使用一些命令,例如 dd,这需要时间并且需要在程序转到另一个命令之前完全完成。
【问题讨论】:
标签: node.js shell output child-process spawn