'\" te .\" Copyright 1989 AT&T Copyright (c) 2005, Sun Microsystems, Inc. All Rights Reserved .TH ckrange 1 "2005 年 11 月 4 日" "SunOS 5.11" "用户命令" .SH 名称 ckrange, errange, helprange, valrange \- 提示输入并验证整数 .SH 用法概要 .LP .nf \fBckrange\fR [\fB-Q\fR] [\fB-W\fR \fIwidth\fR] [\fB-l\fR \fIlower\fR] [\fB-u\fR \fIupper\fR] [\fB-b\fR \fIbase\fR] [\fB-d\fR \fIdefault\fR] [\fB-h\fR \fIhelp\fR] [\fB-e\fR \fIerror\fR] [\fB-p\fR \fIprompt\fR] [\fB-k\fR \fIpid\fR [\fB-s\fR \fIsignal\fR]] .fi .LP .nf \fB/usr/sadm/bin/errange\fR [\fB-W\fR \fIwidth\fR] [\fB-e\fR \fIerror\fR] [\fB-l\fR \fIlower\fR] [\fB-u\fR \fIupper\fR] [\fB-b\fR \fIbase\fR] .fi .LP .nf \fB/usr/sadm/bin/helprange\fR [\fB-W\fR \fIwidth\fR] [\fB-h\fR \fIhelp\fR] [\fB-l\fR \fIlower\fR] [\fB-u\fR \fIupper\fR] [\fB-b\fR \fIbase\fR] .fi .LP .nf \fB/usr/sadm/bin/valrange\fR [\fB-l\fR \fIlower\fR] [\fB-u\fR \fIupper\fR] [\fB-b\fR \fIbase\fR] \fIinput\fR .fi .SH 描述 .sp .LP \fBckrange\fR 实用程序可提示用户输入指定范围内的整数,并确定其回复是否有效。其作用之一是定义回复应该为指定范围内整数的提示消息、帮助和错误消息的文本以及缺省值(用户按 RETURN 键时返回)。 .sp .LP 该命令也可以定义有效输入的范围。如果未定义下限或上限,则范围只有一端有界限。 .sp .LP 所有消息的长度均不得超过 79 个字符,消息格式将自动设置。将删除消息定义中一个空格字符后的制表符和换行符,但是不删除空格。如果在消息定义开头或结尾输入波浪号,将在该位置插入缺省文本,这样便可同时显示定制文本和缺省文本。 .sp .LP 如果未定义提示、帮助或错误消息,将显示缺省消息(如“示例”部分所定义)。 .sp .LP 有三个可视化工具模块与 \fBckrange\fR 命令关联。分别是 \fBerrange\fR(用于标准输出中错误消息的格式设置和显示)、\fBhelprange\fR(用于标准输出中帮助消息的格式设置和显示)和 \fBvalrange\fR(用于验证回复)。 .sp .LP \fB注意:\fR负数形式的“输入”参数会干扰 \fBgetopt\fR 解析 \fBvalrange\fR 的参数。如果在参数前面插入 "-",\fBgetopt\fR 处理会停止。有关 \fBgetopt\fR 参数处理的信息,请参见 \fBgetopt\fR(1) 和 \fBIntro\fR(1)。\fBgetopt\fR 用于解析位置参数并检查合法选项。 .SH 选项 .sp .LP 支持以下选项: .sp .ne 2 .mk .na \fB\fB-b\fR \fIbase\fR\fR .ad .RS 14n .rt 定义输入基数。必须为 2 到 36,缺省值为 10。基数转换使用 \fBstrtol\fR(3C)。输出中基数始终为 10。 .RE .sp .ne 2 .mk .na \fB\fB-d\fR \fIdefault\fR\fR .ad .RS 14n .rt 将缺省值定义为 \fIdefault\fR。可以使用 \fBstrtol\fR(3C) 按所需基数对 \fIdefault\fR 进行转换。指定的基数中任何字符无效都会终止 \fBstrtol\fR 转换,但是不会报告错误。 .RE .sp .ne 2 .mk .na \fB\fB-e\fR \fIerror\fR\fR .ad .RS 14n .rt 将错误消息定义为 \fIerror\fR。 .RE .sp .ne 2 .mk .na \fB\fB-h\fR \fIhelp\fR\fR .ad .RS 14n .rt 将帮助消息定义为 \fIhelp\fR。 .RE .sp .ne 2 .mk .na \fB\fB-k\fR \fIpid\fR\fR .ad .RS 14n .rt 指定如果用户选择退出,将向进程 \fBID\fR \fIpid\fR 发送信号。 .RE .sp .ne 2 .mk .na \fB\fB-l\fR \fIlower\fR\fR .ad .RS 14n .rt 将范围下限定义为 \fIlower\fR。缺省值为计算机的最大负向长度。 .RE .sp .ne 2 .mk .na \fB\fB-p\fR \fIprompt\fR\fR .ad .RS 14n .rt 将提示消息定义为 \fIprompt\fR。 .RE .sp .ne 2 .mk .na \fB\fB-Q\fR\fR .ad .RS 14n .rt 指定不允许退出作为有效的响应。 .RE .sp .ne 2 .mk .na \fB\fB-s\fR \fIsignal\fR\fR .ad .RS 14n .rt 指定如果选择退出,将向使用 \fB-k\fR 选项定义的进程 \fBID\fR \fIpid\fR 发送信号 \fIsignal\fR。如果未指定信号,将使用 \fBSIGTERM\fR。 .RE .sp .ne 2 .mk .na \fB\fB-u\fR \fIupper\fR\fR .ad .RS 14n .rt 将范围上限定义为 \fIupper\fR。缺省值为计算机的最大正向长度。 .RE .sp .ne 2 .mk .na \fB\fB-W\fR \fIwidth\fR\fR .ad .RS 14n .rt 指定提示、帮助和错误消息的格式设置:行长度为 \fIwidth\fR。 .RE .SH 操作数 .sp .LP 支持下列操作数: .sp .ne 2 .mk .na \fB\fIinput\fR\fR .ad .RS 9n .rt 要根据上限和下限以及基数验证的输入。 .RE .SH 示例 .LP \fB示例 1 \fR基数为 10 时的缺省提示 .sp .LP 基数为 10 时 \fBckrange\fR 的缺省提示为: .sp .in +2 .nf example% \fBckrange\fR Enter an integer between \fIlower_bound \fRand \fIupper_bound \fR[\fIlower_bound\(miupper_bound\fR,?,q]: .fi .in -2 .sp .LP \fB示例 2 \fR基数为 10 时的缺省错误消息 .sp .LP 基数为 10 时缺省错误消息为: .sp .in +2 .nf example% \fB/usr/sadm/bin/errange\fR ERROR: Please enter an integer between \fIlower_bound \e\fR and \fIupper_bound\fR. .fi .in -2 .sp .LP \fB示例 3 \fR基数为 10 时的缺省帮助消息 .sp .LP 基数为 10 时缺省帮助消息为: .sp .in +2 .nf example% \fB/usr/sadm/bin/helprange\fR Please enter an integer between \fIlower_bound\fR and \fIupper_bound\fR. .fi .in -2 .sp .LP \fB示例 4 \fR基数不为 10 时消息的更改 .sp .LP 如果将基数设置为除 10 以外的数字,消息中的 ``integer" 将更改为 ``base \fIbase\fR integer"。例如, .sp .in +2 .nf example% \fB/usr/sadm/bin/helprange -b 36\fR .fi .in -2 .sp .LP \fB示例 5 \fR使用退出选项 .sp .LP 如果选择了退出选项(并且经过允许),将返回 \fBq\fR 以及返回代码 \fB3\fR。退出输入时会添加一个结尾换行符。 .LP \fB示例 6 \fR使用 valrange 模块 .sp .LP \fBvalrange\fR 模块将生成有关标准错误的使用消息。如果成功,将返回\fB0\fR ;如果失败,将返回非零值。 .sp .in +2 .nf example% \fB/usr/sadm/bin/valrange\fR usage: valrange [-l lower] [-u upper] [-b base] input .fi .in -2 .sp .SH 退出状态 .sp .LP 将返回以下退出值: .sp .ne 2 .mk .na \fB\fB0\fR\fR .ad .RS 5n .rt 成功执行。 .RE .sp .ne 2 .mk .na \fB\fB1\fR\fR .ad .RS 5n .rt 输入中出现 \fBEOF\fR、\fB-W\fR 选项中的宽度为负数或者用法错误。 .RE .sp .ne 2 .mk .na \fB\fB2\fR\fR .ad .RS 5n .rt 用法错误。 .RE .sp .ne 2 .mk .na \fB\fB3\fR\fR .ad .RS 5n .rt 用户终止(退出)。 .RE .SH 属性 .sp .LP 有关下列属性的说明,请参见 \fBattributes\fR(5): .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性类型属性值 _ 可用性system/core-os .TE .SH 另请参见 .sp .LP \fBIntro\fR(1)、\fBgetopt\fR(1)、\fBstrtol\fR(3C)、\fBattributes\fR(5)、\fBsignal.h\fR(3HEAD)