2017-09-08 14 views
0

linuxの|コマンドのstdoutを次のコマンドのstdinにパイプするには、node.jsアプリケーションのパイプ(パイプ)を使用します。両方のコマンドはspawnSyncで生成されています。spawnSyncのstdoutを別のspawnSync stdinに送信

この(擬似コード)コマンドラインで期待どおりに動作します:

$ 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; 

答えて

0

私はのように代わりに出力のinput: c1Spawn.stdoutを使用して、答えを見つけたと信じて2番目のコマンドの場合

const spawnSync = require('child_process').spawnSync; 

const c1Spawn = spawnSync('command1', ['arg1', 'file']); 
const c2Spawn = spawnSync('command2', ['arg2'], { input: c1Spawn.stdout }); 

const someoutput = c2Spawn.output; 
関連する問題