如何在终端中获取命令的叠加输出,如less或man?

时间:2017-09-13 01:16:50

标签: terminal ncurses xterm

某些linux命令(如lessman)会在占用整个屏幕的当前终端中显示其输出。但是,一旦程序退出,之前的交互就会重新出现。

我们如何为自定义程序实现相同的行为?

谢谢。

1 个答案:

答案 0 :(得分:3)

实际上, less 可比较的程序使用可由各种库提供的 termcap 接口。问题的关键是如何恢复“以前的互动”。这是xterm和其他程序的一个功能,称为备用屏幕,通常通过终端功能用于启动和结束游标寻址模式。该功能完全取决于终端(ncurses仅提供信息)。

进一步阅读: