gpt4 book ai didi

javascript - 如何在 node.js 中运行交互式 shell 命令?

转载 作者:IT老高 更新时间:2023-10-28 23:08:24 37 4
gpt4 key购买 nike

我必须在 node.js 中运行一些交互式 shell 命令。让我们的交互式 shell 成为 $ python:

var cp = require('child_process');
var pythonChildProcess = cp.spawn('python');

pythonChildProcess.stdout.on("data", function(data) {
console.log('data successfully written!', data); // never outputs anything
});

pythonChildProcess.stdin.write('1 + 1');
pythonChildProcess.stdin.end();

这段代码不输出任何东西(但stdout应该是2)。

但如果是这样,就会有另一个问题:如何使它具有交互性?该过程在我调用 pythonChildProcess.stdin.end(); 时结束!但我只想结束stdin,写下一个stdin!

更新:如果我可以模拟按下 enter 按钮 - 我将能够以交互方式写入进程。但是将 \n 添加到输入字符串的末尾并没有帮助。

最佳答案

这对我很有用:

const { spawn } = require('child_process')
const shell = spawn('sh',[], { stdio: 'inherit' })
shell.on('close',(code)=>{console.log('[shell] terminated :',code)})

关于javascript - 如何在 node.js 中运行交互式 shell 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27458502/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com