node js与shell应用程序交互

时间:2012-06-05 17:06:53

标签: shell node.js stdin read-eval-print-loop

网上有很多关于如何生成子进程的节点js示例,然后将结果作为字符串捕获,供您自己处理。

但是...

我希望与子进程“互动”。例如,如何编写节点js应用程序而不是通过调用“python”然后键入语句“1+1”,让我在继续之前捕获结果“2”键入另一个任意语句“4+4”?

(并且通过'type'我假设它将需要流数据到该进程使用的stdin。)

1 个答案:

答案 0 :(得分:7)

var child = require('child_process');
var ps = child.spawn('python', ['-i']);
ps.stdout.pipe(process.stdout);
ps.stdin.write('1+1');
ps.stdin.end();

有效!