node js与shell应用程序交互

Tri*_*daz 6 shell stdin node.js read-eval-print-loop

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

但...

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

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

Tri*_*daz 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();
Run Code Online (Sandbox Code Playgroud)

有效!