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 发生错误。

示例

  1. 要清除当前终端的屏幕,请输入:
    tput clear
  2. 要显示当前终端的列数,请输入:
    tput cols
  3. 要显示 aixterm 终端的列数,请输入:
    tput  -Taixterm cols
  4. 要将 shell 变量 bold 设置为 begin standout 方式序列,将 shell 变量 offbold 设置为 end standout 方式序列,请输入:
    bold=`tput smso`
     
    offbold='tput rmso'
    输入这些指令后,可能会出现以下提示符:
    echo "${bold}Name: ${offbold} \c" 
  5. 要设置退出值以指示当前终端是否为硬拷贝终端,请输入:
    tput hc
  6. 要初始化当前终端,请输入:
    tput init

文件

描述
/usr/share/lib/terminfo/?/* 包括终端描述符文件。
/usr/include/term.h 包括定义文件。