我很难用Google搜索,因为我不知道正确的关键字。一些命令行应用程序(例如vi和更少)接管整个控制台屏幕并向用户呈现交互式界面。退出这样的应用程序后,屏幕将返回到应用程序启动之前的状态。我想编写一个以这种方式运行的程序,但同样,我甚至不知道这是什么,所以我找不到任何关于它是如何完成的文档。
所以,我的问题有三个:
答案 0 :(得分:4)
正如一些评论所说,你正在寻找ncurses。 Linux文档项目有一个非常好的HOWTO用于C的ncurses我自己开始使用它
答案 1 :(得分:2)
您所描述的功能是alternate screen buffer。我认为[N] Curses默认会启用它。对于Ruby,Python和其他脚本语言,肯定存在curses绑定。
答案 2 :(得分:2)
您甚至可以使用tput程序访问bash中的ncurses。整个ncurses库(比之前的curses)通过向终端发送转义序列来工作。 xterm程序模拟vt100终端(以及Tektronic终端),并且有各种字符组合,可以移动光标,清除屏幕,绘制各种字符等。这些通常以转义字符开头,因此名称:escape序列。你有时也会在人们的PS1 shell变量中看到这些转义序列,用\ e来提供转义字符;通常用于为提示着色或设置窗口标题。
tput是指terminfo数据库,用于确定转义序列执行您要求它执行的功能的内容。
请参阅手册页,输入:
man 5 terminfo
了解更多详情