ckitem [-Q] [-W width] [-uno] [-f filename] [-l label] [ [-i invis] [,]...] [-m max] [-d default] [-h help] [-e error] [-p prompt] [-k pid [-s signal]] [choice [...]]
/usr/sadm/bin/erritem [-W width] [-e error] [choice [..]]
/usr/sadm/bin/helpitem [-W width] [-h help] [choice [..]]
ckitem 实用程序可构建菜单,并提示用户从项目菜单中选择一项。然后,它将验证回复。该命令的选项作用之一是定义回复为菜单项的提示消息、帮助和错误消息的文本以及缺省值(用户按回车时返回)。
缺省情况下,菜单已经设置了格式,每一项前面有一个数字,在终端输出时以多列的形式显示。列长度由所选最长的项目决定。项目按字母顺序排列。
所有消息的长度均不得超过 70 个字符,消息格式将自动设置。定义中使用的任何空格(包括换行符)都将除去。使用 –W 选项可以取消自动格式设置。如果在消息定义开头或结尾输入波浪号,将在该位置插入缺省文本,这样便可同时显示定制文本和缺省文本。
如果未定义提示、帮助或错误消息,将显示缺省消息(如“附注”部分所定义)。
有两个可视化工具模块与 ckitem 命令关联。分别是 erritem(用于错误消息的格式设置和显示)和 helpitem(用于帮助消息的格式设置和显示)。这些模块应该与 FML 对象一起使用。在这种情况下,FML 对象将定义提示。如果在这些模块中定义了 choice,则消息将说明可用的菜单选项(或多项)。
支持以下选项:
将缺省值定义为 default。缺省值不进行验证,因此无需符合任何条件。
将错误消息定义为 error。
定义一个文件 filename,使其包含要显示的菜单项的列表。(该文件的格式为:token<tab>description。以井号 (#) 开头的行指定为注释,将忽略。)
将帮助消息定义为 help。
定义不可见的菜单选项(不会在菜单中显示的选项)。(例如,"all" 用作不可见选项表示它是一个合法选项,但是不会显示在菜单中。可以定义任意数量的不可见选项。)应该在提示或帮助消息中告知用户不可见选项。
指定如果用户选择异常中止,将向进程 ID pid 发送信号。
定义要显示在菜单上方的标签 label。
定义用户可选择的菜单选项的最大数量。缺省值为 1。
指定菜单项不能按字母顺序显示。
指定将只返回一个菜单令牌。
将提示消息定义为 prompt。
指定不允许退出作为有效的响应。
指定如果选择退出,将向使用 –k 选项定义的进程 ID pid 发送信号 signal。如果未指定信号,将使用 SIGTERM。
指定菜单项应该显示为无编号列表。
指定提示、帮助和错误消息的格式设置:行长度为 width。
支持下列操作数:
定义菜单项。项目应该以空格或换行符分隔。
将返回以下退出值:
成功执行。
输入中出现 EOF、–W 选项中的宽度为负数、使用 –f 选项时无法打开文件或者用法错误。
用户终止(退出)。
无选项可供选择。
有关下列属性的说明,请参见 attributes(5):
|
如果选项要进行编号或者项目的唯一标识需要的字符串过多,用户可以输入菜单项的数量。长菜单将分页,每页 10 项。
如果在文件(使用 –f 选项)和命令行中都定义了菜单条目,通常按字母顺序将其合并。但是,如果使用 –n 选项禁止按字母顺序排序,则首先显示在文件中定义的条目,然后显示在命令行中定义的选项。
ckitem 的缺省提示为:
Enter selection [?,??,q]:
如果选择一个问号,将显示一条帮助消息,然后重新显示提示。如果选择两个问号,将显示一条帮助消息,然后重新显示菜单标签、菜单和提示。
如果键入数字,缺省错误消息为:
ERROR: Bad numeric choice specification
如果键入字符串,缺省错误消息为:
ERROR: Entry does not match available menu selection. Enter the number of the menu item you wish to select, the token which is associated with the menu item, or a partial string which uniquely identifies the token for the menu item. Enter ?? to reprint the menu.
缺省帮助消息为:
Enter the number of the menu item you wish to select, the token which is associated with the menu item, or a partial string which uniquely identifies the token for the menu item. Enter ? to reprint the menu.
如果选择了退出选项(并且经过允许),将返回 q 以及返回代码 3。