tput
在类似Unix的操作系统上,tput命令初始化终端或查询terminfo 数据库。 本文档介绍了tput的Linux版本。
查看英文版
1 tput 运行系统环境
2 tput 说明
3 tput 语法
4 tput 例子
tput 运行系统环境
Linux
tput 说明
该tput的 工具使用的terminfo数据库使与终端相关的能力和信息提供给值外壳,初始化和重新设置终端,或返回所请求的终端类型的长名。结果取决于能力的类型:
串 | tput将字符串写入标准输出。没有尾随的换行符。 |
整数 | tput将十进制值和尾随换行符写入标准输出。 |
布尔值 | tput设置退出代码(如果终端有能力,则设置退出代码(如果为TRUE,则为0;否则为FALSE,则设置为1),并且不向标准输出写入任何内容。 |
在使用在标准输出上返回的值之前,应用程序应测试退出代码(例如$ ?;有关详细信息,请参见sh)以确保其为0。(请参阅“ 退出代码和诊断”部分。)有关功能和与之相关的功能名称的完整列表,请参见terminfo手册。
查看英文版
tput 语法
tput [-Ttype] capname [params ... ]
tput [-Ttype] init
tput [-Ttype] reset
tput [-Ttype] longname
tput -S <<
tput -V
选件
-Ttype | 指示终端的类型。通常,此选项是不必要的,因为默认值来自环境变量 TERM。如果指定了-T,那么将忽略外壳变量LINES和COLUMNS,并且不会查询操作系统的实际屏幕大小。 |
capname | 指示terminfo数据库中的功能。当的termcap(终端能力数据库)支持编译的,在termcap中的功能名也是可以接受的。 |
params |
如果能力是一个字符串,采用参数,该参数 PARAMS将被实例化到字符串。 大多数参数是数字。只有少数terminfo功能需要字符串参数。tput使用表来决定将哪个作为字符串传递。如果没有为该功能提供任何参数,则tput将写入字符串而不执行替换。 |
-S |
每次调用tput都允许多个功能。必须将这些功能从标准输入而不是从命令行传递到tput(请参见下面的示例)。每行只允许使用一个名称。的-S选项改变的含义0和1布尔值和串退出代码(参见退出代码部分)。 同样,tput使用表和输入中参数的存在来决定是否以及如何解释参数。 |
-V | 报告此程序中使用的ncurses版本(文本界面编程库),然后退出。 |
init |
如果存在terminfo数据库,并且存在用户终端的条目(请参见上面的-T type),则会发生以下情况:
|
reset | 如果存在终端(rs1,rs2,rs3,rf),则会输出终端的重置字符串,而不是发出初始化字符串。如果不存在重置字符串,但是存在初始化字符串,则将输出初始化字符串。否则,reset的行为与init相同。 |
longname | 如果存在terminfo数据库,并且存在用户终端的条目(请参见上面的-T 类型),则将输出终端的长名称。长名是terminfo数据库中终端说明的第一行中的姓氏。 |
如果tput由名为reset的链接调用,则其效果与tput reset相同。请参阅tset进行比较,其行为类似。
退出码
如果使用-S选项,则tput将检查每行中的错误,如果发现任何错误,则将退出代码设置为4加上有错误的行数。如果未找到错误,则退出代码为0。无法指示哪条线失败,因此将永远不会显示退出代码1。退出代码2,3和4保持其通常的解释。如果不使用-S选项,则退出代码取决于capname的类型:
boolean | 值0被设置为TRUE,并且1为FALSE。 |
string | 如果为此端子类型定义了Capname,则将值设置为0(在标准输出中返回capname的值);否则,将设置为0。如果未为该终端类型定义capname,则将值设置为1(不向标准输出写入任何内容)。 |
integer | 无论是否为此终端类型定义了capname,始终将其设置为0。要确定是否为此终端类型定义了capname,用户必须测试写入标准输出的值。值-1表示未为此终端类型定义capname。 |
other | 该复位或初始化可能无法找到其相应的文件。在这种情况下,退出代码设置为4 + errno。 |
如“ 诊断”部分所列,任何其他退出代码均指示错误。
诊断程序
tput打印以下错误消息并设置相应的退出代码:
0 | capname是未在指定的数值变量的terminfo数据库此终端类型,例如,tput的-T450线和tput的-T2621 XMC。 |
1 | 没有错误消息被打印;请参阅退出代码部分。 |
2 | 使用错误。 |
3 | 未知的终端类型或没有terminfo数据库。 |
4 | 未知的terminfo功能Capname。 |
>4 | 根据-S选项发生错误。 |
档案
/etc/terminfo | 编译后的终端描述数据库。 |
/usr/share/tabset/* | 某些终端的制表符设置,采用适合于输出到终端的格式(设置页边距和制表符的转义序列);有关更多信息,请参见terminfo手册。 |
查看英文版
tput 例子
tput init
根据环境变量TERM中的终端类型初始化终端。导出环境变量TERM之后,该命令应包含在.profile文件中。
tput -T5620 reset
重置AT&T 5620终端,以覆盖环境变量TERM中的终端类型。
tput cup 0 0
发送序列来移动光标到行0,列0(在屏幕的左上角,通常被称为“家庭”光标位置)。
tput clear
回显当前终端的清除屏幕顺序。
tput cols
打印当前终端的列数。
tput -T450 cols
打印450终端的列数。
bold=`tput smso` offbold=`tput rmso`
对于当前终端,将外壳变量设置为粗体以开始突出模式序列,将offbold设置为结束突出模式序列。此命令后可能会提示:echo“ $ {bold}请输入您的名字:$ {offbold} \ c”。
tput hc
设置退出代码以指示当前终端是否为硬拷贝终端。
tput cup 23 4
发送序列将光标移动到第23行第4列。
tput cup
发送terminfo字符串进行光标移动,不替换任何参数。
tput longname
从terminfo数据库中为环境变量TERM中指定的终端类型打印长名称。
查看英文版