如何在与 shell 不同的上下文中创建交互式 CLI?

如何在与 shell 不同的上下文中创建交互式 CLI?

交互式命令行应用程序(例如lessvimPython 解释器)似乎在不同的上下文中运行。

退出时,您将返回到 shell,就像启动它们时一样,向上滚动终端显示时不会出现应用程序输出的痕迹。

我的问题是:这是如何实现的?我该如何编写这样的应用程序?一个“接管”外壳,然后“归还”外壳的外壳?

这是我在这里缺少的一个基本概念。我知道标准输入, 标准输出,标准误溪流。如何从程序写入它们,以及如何使用 shell 将它们重定向到文件。但我不明白文本模式界面如何能够暂时“捕获”和“重绘”终端,然后消失得不留痕迹。

相关内容