与 Unix 中的许多事物一样,实现相同目的的方法不止一种。一个名为 tput 的实用程序也可以用于在屏幕上移动光标,获取有关终端状态的信息或设置颜色。man tput 命令手册没有详细介绍可用的命令,但 Emilio Lopes 发邮件给我指出,man terminfo 将为您提供大量功能列表,其中许多功能是设备独立的,因此比之前提到的转义序列更好。他建议我出于这个原因使用 tput 重写所有示例。 他说我应该这样做是正确的,但我控制它并使其执行我想要的一切时遇到了一些麻烦。 但是,我确实重写了一个提示符,您可以将其作为示例查看:第 12.8 节。
以下是我发现有用的 tput 功能列表
tput 颜色功能
使用 ANSI 转义序列设置背景颜色
设置背景颜色
使用 ANSI 转义序列设置前景色
设置前景色
tput 文本模式功能
设置粗体模式
开启半亮度模式
开始下划线模式
退出下划线模式
开启反色模式
进入突出显示模式(rxvt 上为粗体)
退出突出显示模式
关闭所有属性(效果不如预期)
tput 光标移动功能
将光标移动到屏幕位置 X,Y(左上角为 0,0)
保存光标位置
恢复光标位置
输出终端的行数
输出终端的列数
向左移动 N 个字符
向右移动 N 个字符
向左移动一个空格
非破坏性空格(向右移动一个空格)
最后一行,第一列(如果没有 cup)
向上移动一行
tput 清除和插入功能
擦除 N 个字符
清除屏幕并将光标置于原位
清除到行首
清除到行尾
清除到屏幕末尾
插入 N 个字符(将该行剩余部分向前移动!)
插入 N 行
这绝不是 terminfo 和 tput 允许的全部功能列表,实际上这仅仅是个开始。如果您想了解更多信息,请参阅 man tput 和 man terminfo。