tput 命令
用途
查询 terminfo 数据库以获取与终端相关的信息。
语法
用于输出终端信息
tput [ -T 类型 ] [ CapabilityName {clear, init, longname, reset} [ 参数... ]]
对于使用标准输入来处理多项功能
tput [ -S ]
描述
tput 命令使用 terminfo 数据库以使终端相关信息适用于 shell。 如果属性 CapabilityName 的类型为 string ,那么 tput 命令将输出字符串。 如果该属性的类型为 integer,那么输出字符串是一个整数。 如果属性的类型为 Boolean,那么 tput 命令设置出口值(TRUE 为 0,FAlSE 为 1),不再产生其他输出。
XTERM 描述限制
AIX第 4 版 DEC.TI文件中的 xterm 终端描述通过使用 SGR 属性提供了下划线模式。 当前未在 AIX V 4上的 XTERM 终端描述中定义 SMUL 和 RMUL 属性。 使用名为 SGR 的更为通用的功能。
tput sgr x y其中 x 是 1 或 0,分别用于打开或关闭突出显示方式,y 是 1 或 0,分别用于打开或关闭下划线方式。 有关 SGR 能力的更详细信息,请参阅文章“terminfo 文件格式”。
tput sgr 0 1 turn off standout; turn on underline
tput sgr 0 0 turn off standout; turn off underline
tput sgr 1 1 turn on standout; turn on underline
tput sgr 1 0 turn on standout; turn off underline标志
除了能力名称之外,还支持以下字符串作为 tput 子例程参数。
| 项 | 描述 |
|---|---|
| 清除 | 显示清除屏幕顺序(这也是一个能力名称)。 |
| init | 显示以依赖于实现的方式对用户终端进行初始化的顺序。 |
| 重置 | 显示将以依赖于实现的方式对用户终端进行重新设置的顺序。 |
| 长名称 | 显示长名称和指定的终端(如果未指定终端,那么显示当前终端)。 |
| -S | 使用标准输入。 这可以使 tput 处理多种能力。 当使用 -S 选项时,不得在命令行中输入能力。 输入 ^D 标记完成。 |
| -T类型 | 指示终端类型。 如果没有指定 -T,那么 TERM 环境变量可用于该终端。 |
退出状态
本命令返回以下退出值:
| 项 | 描述 |
|---|---|
| 重大安全事件数量 | 已经成功地写入了所请求的字符串。 |
| 第 1 年 | 未指定。 |
| 2 | 用法错误。 |
| 3 | 有关指定的终端类型,无任何可用信息。 |
| 4 | 指定的操作数无效。 |
| > 4 | 发生错误。 |
示例
- 要清除当前终端的屏幕,请输入:
tput clear - 要显示当前终端的列数,请输入:
tput cols - 要显示 aixterm 终端的列数,请输入:tput -Taixterm cols
- 要将 shell 变量 bold 设置为 begin standout 方式序列,将 shell 变量 offbold 设置为 end standout 方式序列,请输入:
输入这些指令后,可能会出现以下提示符:bold=`tput smso` offbold='tput rmso'echo "${bold}Name: ${offbold} \c" - 要设置退出值以指示当前终端是否为硬拷贝终端,请输入:
tput hc - 要初始化当前终端,请输入:
tput init
文件
| 项 | 描述 |
|---|---|
| /usr/share/lib/terminfo/?/* | 包括终端描述符文件。 |
| /usr/include/term.h | 包括定义文件。 |