【问题标题】:Send the stdout of spawnSync to another spawnSync stdin将 spawnSync 的标准输出发送到另一个 spawnSync 标准输入
【发布时间】:2017-09-08 03:21:19
【问题描述】:

我如何模拟 linux 的 | (pipe) 在 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;

【问题讨论】:

    标签: node.js stdio


    【解决方案1】:

    我相信我通过使用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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多