将 spawnSync 的标准输出发送到另一个 spawnSync 标准输入
Send the stdout of spawnSync to another spawnSync stdin
如何模拟 linux 的 | (管道)在 node.js 应用程序中将一个命令的 stdout
传送到下一个命令的 stdin
。这两个命令都是用 spawnSync
.
生成的
此(伪代码)在命令行中按预期工作:
$ command1 -arg1 file | command2 arg2
> someoutput
但这不是:
const spawnSync = require('child_process').spawnSync;
const c1Spawn = spawnSync('command1', ['arg1', 'file']);
const c2Spawn = spawnSync('command2', ['arg2'], { input: c1Spawn.output });
const someoutput = c2Spawn.output;
我相信我通过使用 input: c1Spawn.stdout
而不是输出作为第二个命令的输入找到了答案。
const spawnSync = require('child_process').spawnSync;
const c1Spawn = spawnSync('command1', ['arg1', 'file']);
const c2Spawn = spawnSync('command2', ['arg2'], { input: c1Spawn.stdout });
const someoutput = c2Spawn.output;
如何模拟 linux 的 | (管道)在 node.js 应用程序中将一个命令的 stdout
传送到下一个命令的 stdin
。这两个命令都是用 spawnSync
.
此(伪代码)在命令行中按预期工作:
$ command1 -arg1 file | command2 arg2
> someoutput
但这不是:
const spawnSync = require('child_process').spawnSync;
const c1Spawn = spawnSync('command1', ['arg1', 'file']);
const c2Spawn = spawnSync('command2', ['arg2'], { input: c1Spawn.output });
const someoutput = c2Spawn.output;
我相信我通过使用 input: c1Spawn.stdout
而不是输出作为第二个命令的输入找到了答案。
const spawnSync = require('child_process').spawnSync;
const c1Spawn = spawnSync('command1', ['arg1', 'file']);
const c2Spawn = spawnSync('command2', ['arg2'], { input: c1Spawn.stdout });
const someoutput = c2Spawn.output;