管理 terminfo 描述。
infocmp [ -d] [ -c] [ -n] [ -I] [ -L] [ -C] [ -r] [ -u] [ -s { d| i| l| c}] [ -v] [ -V] [ -1] [ -w Width] [ -A Directory] [ -B directory] [TermName...]
infocmp 命令管理 terminfo 描述。能用这个命令:
infocmp 命令先打印布尔属性、再打印数字属性、最后打印字符串属性。
用 -d、-c、和 -n 标志来比较项。-d 标志返回项间的差异。-c 标志产生一个设置了且两个项都具有的能力的列表。-n 标志返回两个项都不具有的能力列表。
要比较 terminfo 项,指定两个或多个 TermName 参数。infocmp 命令将第一个 TermName 参数的 terminfo 描述与指定的后续 TermName 的每个描述做比较。如果仅仅为一个终端描述而定义能力,返回的值将依赖于能力的类型。对布尔型权能,infocmp 命令返回一个 F,对整数权能返回 -1,对字符串权能返回 null。
用 -l (大写 i )、-L、-C 和 -r 标志来为一个或多个终端产生源列表。如果不指定 TermName 参数,系统使用 TERM 环境变量。当一个二进制 terminfo 不可用的时,可使用源选项为其产生一个源文件。
I (大写 i)标志用 terminfo 名称来产生一个列表。-L 标志用在 /usr/include/term.h 中列出的长型 C 变量名产生一个列表。
当产生这个源列表时,-C 标志用 termcap 名而不是用 terminfo 能力名。infocmp 命令仅仅转换和输出那些有一个对应 termcap 代码名的那些 terminfo 能力。要删除该限制,指定 -r 标志。这个标志使此命令输出不能转换成 termcap 格式的 terminfo 能力。
当用 -C 和 -r 标志时,infocmp 命令标出任何它不能转换成 termcap 格式的任何字符串参数。必须手工编辑那些参数。这个命令为字符串将所有填充信息收集起来,并将它放在 termcap 期望的字符串的开始处。转换后,强制填充是可选的。强制填充用结尾的 / (斜线)填充信息。
注: -C 和 -r 标志不总能转换一个 terminfo 字符串为等价的 termcap 形式。相似的,从 termcap 文件格式转回 terminfo 文件格式不需要重新产生原始的源文件。
给定一个终端菜单列表和 -u 标志后,infocmp 命令比较第一个终端的描述和其他终端的描述。然后 infocmp 命令用尽可能多的后继终端描述为第一个终端创建新的描述。
当指定 -u 标志和终端名称列表时,infocmp 命令执行以下操作:
第一个终端的新描述有以下内容:
注: @ 意味着不存在这个能力。
可在 use 属性后更改一个描述和指定能力。如果这个能力在由 use 属性引用的终端中也被发现,第二个能力优于由 use 属性引用的那个能力。
缺省情况下,终端描述出现在系统 terminfo 数据库目录,/usr/share/lib/terminfo 下。能用 TERMINFO 环境变量指定不同的数据库位置。infocmp 命令首先检查看这个变量是否存在。如果这个变量不存在,此命令用系统 terminfo 数据库。
能用带 -A 和 -B 标志的 infocmp 命令来覆盖系统数据库。-A 标志为 TermName 参数 terminfo 数据库。-B 标志为任何您命名的后继终端标识这个数据库以便使用。合起来,这些标志使位于两个不同数据库中名字相同的两个终端描述的比较成为可能。
infocmp -c aixterm lft
infocmp -n
infocmp -I lft
infocmp -A /tmp -u my_term lft
/usr/share/lib/terminfo | 包含编译的终端描述数据库。 |
terminfo 文件格式。