ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
マニュアルページセクション 1: ユーザーコマンド Oracle Solaris 11 Information Library (日本語) |
- 整数の入力要求とその検証
ckrange [-Q] [-W width] [-l lower] [-u upper] [-b base] [-d default] [-h help] [-e error] [-p prompt] [-k pid [-s signal]]
/usr/sadm/bin/errange [-W width] [-e error] [-l lower] [-u upper] [-b base]
/usr/sadm/bin/helprange [-W width] [-h help] [-l lower] [-u upper] [-b base]
/usr/sadm/bin/valrange [-l lower] [-u upper] [-b base] input
ckrange ユーティリティは、ユーザーに指定範囲内の整数の入力を要求して、ユーザーの応答が有効かどうかを検証します。このユーティリティでは、ユーザーに指定範囲内の整数の入力を促すプロンプトメッセージ、ヘルプメッセージとエラーメッセージ、およびデフォルト値 (ユーザーが RETURN キーで応答した場合に返される値) をオプションにより定義します。
また、このコマンドは、有効な入力範囲も定義します。下限または上限のいずれかが定義されていない場合、範囲は一方の限界だけに制限されます。
メッセージの長さはすべて最大 79 文字に制限され、自動的に書式化されます。メッセージ定義内で 1 つのスペース文字の後にあるタブと復帰改行は削除されますが、スペースは削除されません。メッセージ定義の最初または最後にチルド文字がある場合は、そこにデフォルトテキストが挿入されて、指定したテキストとデフォルトテキストの両方を表示することができます。
プロンプトメッセージ、ヘルプメッセージ、またはエラーメッセージが定義されていない場合は、デフォルトメッセージ (「使用例」の項を参照) が表示されます。
ckrange コマンドには、3 つのビジュアルツールモジュールがリンクされています。これらのモジュールは、errrange (標準出力上にエラーメッセージを書式化して表示する)、helprange (標準出力上にヘルプメッセージを書式化して表示する)、および valrange (応答を検証する) です。
注: input 引数として負の値を指定すると、valrange 内の getopt で混乱が生じます。引数の前に - を付けると、getopt は処理を停止します。getopt のパラメータ処理については、getopt(1) および Intro(1) を参照してください。getopt は、位置指定パラメータを解析して、有効なオプションかどうかを検査するために使用されます。
次のオプションがサポートされています。
入力する整数の基数を定義します。2 から 36 までの数字でなければなりません。デフォルト値は 10 です。基数を変換するには strtol(3C) を使用します。出力は常に、基数を 10 として実行されます。
default をデフォルト値として定義します。default は strtol(3C) を使用して指定した基数に変換できます。指定した基数に無効な文字があると、strtol はエラーを示すことなく変換を終了します。
error をエラーメッセージとして定義します。
help をヘルプメッセージとして定義します。
ユーザーが中断を選択した場合、プロセス ID pid のプロセスにシグナルを送信するようにします。
lower を範囲の下限として定義します。デフォルト値は、マシンの負の最大整数です。
prompt をプロンプトメッセージとして定義します。
有効な応答として終了 (quit) を使用できないようにします。
終了が選択された場合、-k オプションで定義されたプロセス ID pid のプロセスに、シグナル signal を送信するようにします。シグナルを指定しないと、SIGTERM を送信します。
upper を範囲の上限として定義します。デフォルト値は、マシンの正の最大整数です。
プロンプトメッセージ、ヘルプメッセージ、およびエラーメッセージを、width の行長に書式化します。
次のオペランドがサポートされています。
上限、下限、および基数と照合される入力
例 1 デフォルトのプロンプト
ckrange のデフォルトのプロンプトは、次のとおりです (基数は 10)
example% ckrange Enter an integer between lower_bound and upper_bound [lower_bound-upper_bound,?,q]:
例 2 デフォルトのエラーメッセージ
デフォルトのエラーメッセージは、次のとおりです (基数は 10)。
example% /usr/sadm/bin/errange ERROR: Please enter an integer between lower_bound \ and upper_bound.
例 3 デフォルトのヘルプメッセージ
デフォルトのヘルプメッセージは、次のとおりです (基数は 10)。
example% /usr/sadm/bin/helprange Please enter an integer between lower_bound and upper_bound.
例 4 基数を 10 以外の数に変更した場合のメッセージ
基数を 10 以外の数に設定した場合、メッセージは "integer" から "base base integer" に変更されます。たとえば、次のように指定します。
example% /usr/sadm/bin/helprange -b 36
例 5 終了 (quit) オプションの使用
終了オプションを選択した場合 (かつ使用できる場合) は、リターンコード 3 と共に q が返されます。終了を入力すると、後に復帰改行が続きます。
例 6 valrange モジュールの使用
valrange モジュールは、標準エラー出力に使用法に関するメッセージを作成します。正常終了した場合は 0、失敗した場合には 0 以外の値を返します。
example% /usr/sadm/bin/valrange usage: valrange [-l lower] [-u upper] [-b base] input
次の終了値が返されます。
正常終了。
入力で EOF が検出された、-W オプションで負の行長が指定された、または使用法に誤りがあった。
使用方法のエラー。
ユーザー終了 (quit)。
属性についての詳細は、attributes(5) を参照してください。
|
Intro(1), getopt(1), strtol(3C), attributes(5), signal.h(3HEAD)