在Linux系统中,终端是我们与系统进行交互的主要工具。而tput命令,作为终端控制的神器,可以帮助我们更好地管理和控制终端的输出,优化Shell脚本的用户体验。本文将详细介绍tput命令的用法和日常使用示例。
tput命令简介
tput命令查询terminfo数据库以获取与终端相关信息,使Shell可以使用终端相关功能和信息的值、初始化或重置终端、或返回请求的终端类型的长名称。该数据库包含了各种终端类型的特性信息。
tput命令用法
tput命令的基本语法如下:
tput [-Ttype] capname [parameters]
tput [-Ttype] clear | init | reset | longname
tput -S <<
-Ttype:指定终端的类型。通常,此选项是不必要的,因为默认值取自环境变量TERM。
capname:是指在terminfo文件中定义的各个终端功能属性的名称。常用的如:clear、cup、cols等,可以使用infocmp命令查看所有的capname。
-S:从标准输入而不是从命令行将功能属性名称传递给tput。
tput日常使用示例
清除当前终端的屏幕:
tput clear
将光标移动到第0行第0列的位置(屏幕的左上角,通常称为“主页”光标位置):
tput cup 0 0
根据环境变量TERM中的终端类型初始化终端:
tput init
打印当前终端的列数:
tput cols
打印当前终端的行数:
tput lines
突出显示内容:
tput smso
关闭突出显示:
tput rmso
仅对输出内容突出显示:
#设置变量bold,以开始突出模式序列
bold=`tput smso`
#设置变量offbold,以结束突出模式序列
offbold=`tput rmso`
#突出模式输出
echo ${bold}突出${offbold}模式
开始下划线模式:
tput smul
结束下划线模式:
tput rmul
打印终端类型的长名称:
tput longname
使用标准输入:
tput -S < clear
> cup 1 1
> !
此示例显示tput在一次调用中处理多个功能。它清除屏幕,将光标移动到第1行第1列的位置。此例中标准输入的内容为两个感叹号(!)之间的行,不含重定向符号(>)。
改变文本颜色:
# 将文本颜色设置为红色
tput setaf 1
# 将文本颜色设置为绿色
tput setaf 2
# 将文本颜色设置为棕色
tput setaf 3
开启粗体模式:
tput bold
恢复为默认样式:
tput sgr0
sgr0代表“select graphic rendition 0”,它会重置所有之前设置的文本属性,包括粗体、下划线、颜色等,回到终端的默认状态。
0 comments:
New comments are not allowed.