NodeJS 以编程方式模拟并捕获shell作为终端[已关闭]

vm0i2vca  于 2023-04-20  发布在  Node.js
关注(0)|答案(1)|浏览(147)

**已关闭。**此问题正在寻求书籍,工具,软件库等的建议。它不符合Stack Overflow guidelines。目前不接受答案。

我们不允许您提问有关书籍、工具、软件库等方面的建议。您可以编辑问题,以便您可以通过事实和引用来回答问题。
昨天关门了。
Improve this question
我想使用node.js来捕获shell的输出,这样我就可以将其发送到另一个进程,并将输入发送到shell,就像我是一个使用终端的用户一样(这是一个自动化工具)。我已经设法完成了后者(将命令和输入发送到shell),但我仍然缺少终端的一些输出。
我在here上发布了一个关于这个问题的具体问题,但我想知道是否有更好的方法来实现这个高级目标。也许node.js脚本不是正确的方法。是否有更好的工具或现有的API来完成我想要的任务?

snz8szmq

snz8szmq1#

一般的解决方案是将子进程连接到一个伪终端(pty)而不是普通的管道。这看起来像是一个普通的子进程终端,但实际上是一个允许父进程通过管道与之交互的模拟器。
在shell中,这可以通过expectscript这样的程序来完成。大多数高级语言都有一种在pty中运行子进程的方法,可能是使用外部库。看起来child_pty包就是为了在node.js中做到这一点而设计的。

相关问题