tput命令将通过terminfo数据库对您的终端会话进行初始化和操作。通过使用tput,您可以更改几项终端功能,如移动或更改光标、更改文本属性,以及清除终端屏幕的特定区域。与UNIX中的大多数命令一样,tput命令既可以用在shell命令行中也可以用在shell脚本中。为让您更好地理解tput,本文首先从命令行讲起,然后紧接着讲述shell脚本示例。tput命令将通过terminfo数据库对您的终端会话进行初始化和操作。通过使用tput您可以更改几项终端功能,如移动或更改光标、更改文本属性,以及清除终端屏幕的特定区域。我们先看看它的常用参数:
参数
(1)字符串输出参数设置
bel警铃
blink闪烁模式
bold粗体
civis隐藏光标
clear清屏
cnorm不隐藏光标
cup移动光标到屏幕位置(x,y)
el清除到行尾
ell清除到行首
smso启动突出模式
rmso停止突出模式
smul开始下划线模式
rmul结束下划线模式
sc保存当前光标位置
rc恢复光标到最后保存位置
sgr0正常屏幕
rev逆转视图
(2)数字输出参数设置
cols列数目
ittab设置宽度
lines屏幕行数
(3)布尔输出参数设置
chts光标不可见
hs具有状态行
应用
光标属性
在UNIXshell脚本中或在命令行中,移动光标或更改光标属性可能是非常有用的。有些情况下,您可能需要输入敏感信息(如密码),或在屏幕上两个不同的区域输入信息。在此类情况下,使用tput可能会对您有所帮助。
移动光标
使用tput可以方便地实现在各设备上移动光标的位置。通过在tput中使用cup选项,或光标位置,您可以在设备的各行和各列中将光标移动到任意X或Y坐标。设备左上角的坐标为(0,0)。
要在设备上将光标移动到第5列(X)的第1行(Y),只需执行tputcup51。另一个示例是tputcup2345,此命令将使光标移动到第23列上的第45行。
移动光标并显示信息
另一种有用的光标定位技巧是移动光标,执行用于显示信息的命令,然后返回到前一光标位置:
复制代码