tput

初始化、恢复与设置终端


语法格式

tput [-T type] capname [parms]
tput [-T type] {init | reset | longname }
tput -S  <<
tput -V

命令简介

利用terminfo文件,tput命令可以初始化、恢复或设置终端。根据提供的选项与参数,tput查询terminfo文件,把返回结果写到标准输出,从而达到设置终端的目的。

其中,capname是terminfo文件中定义的一系列复杂的终端功能属性之一。例如,cols表示终端的列数,lines表示终端屏幕的行数,clear表示清屏,cup表示光标移动位置,is1、is2和is3表示初始化串,if表示初始化文件,iprog表示初始化程序等,完整的说明见terminfo (5)手册页。parms是终端功能属性capname的参数。例如,cup属性需要提供行与列两个参数。

作为一种特殊或综合功能,tput也支持下列参数:

init  如果terminfo文件存在,且存在与用户终端类型(“-T”选项或TERM变量)相应的定义,运行iprog初始化程序;输出is1和is2初始化字符串;使用mgc、smgl和smgr设置边界;使用tbc和hts设置制表符位置;输出初始化文件if;最后输出初始化字符串is3等。

reset  类似于init,只是输出的内容换作终端复位字符串rs1、rs2、rs3以及复位文件rf。如果终端复位字符串不存在,但初始化字符串存在,输出初始化字符串,此时的reset完全等同于init。注意,系统也提供一个reset命令,“tput reset”命令等同于直接运行reset命令。

longname  如果terminfo文件存在,针对当前终端类型(“-T”选项或TERM变量)的定义也存在,输出终端类型的完整名字。

命令选项

-T type  指定终端的类型。这个选项通常是不必要的,因为tput可以根据TERM环境变量获取终端类型。如果指定了“-T”选项,系统将会忽略Shell变量LINES和COLUMNS,也不查询实际的屏幕或窗口大小。

-S  采用here文档的方式,在运行tput命令时一次提供多个功能特性。注意,必须利用标准输入(而非命令行)把功能特性传递给tput命令。而且每行只能提供一个capname,如果需要,capname后面可以加选用的参数。

-V  显示tput命令使用的ncurses的版本,然后退出。

应用实例

1. 根据环境变量定义的终端类型,初始化终端。

$ tput init
$

2. 输出清屏序列,清除当前的终端窗口。

$ tput clear
$

3. 使用“-S”选项,一次提供多个属性。首先清屏,把光标移至10行10列,设置背景色彩(蓝)。

$ tput -S <<!
> clear
> cup 10 10
> setb 1
> !

4. 使用指定的终端类型,重置控制台终端,恢复终端原状。

$ tput -T xterm reset
$

索引:A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z