我希望能够使用Node.js打开Shell程序。当我从终端程序运行bash时,我将像这样进入shell:
但是当我使用Node.js启动bash时,我假设它假设我不在终端程序之类,所以它并没有真正打开外壳,只是我输入的空白。这是Node.js程序(确实很简单):
const net = require('net');
const cp = require('child_process');
const server = net.createServer(s => {
const bash = cp.spawn('bash');
s.pipe(bash.stdin, {end:false});
bash.stdout.pipe(s);
bash.stderr.pipe(s);
});
server.listen('4004');
如果我运行上述服务器,然后使用netcat
连接到它:
nc localhost 4004
然后我得到一个可以输入内容并获得结果的空白,但没有外壳程序或类似终端的程序。