名前 | 形式 | 機能説明 | 使用例 | 属性 | 関連項目
switch (expression) case comparison1: actions breaksw case comparison2: actions breaksw ... default: endsw
case コマンドは、 word に一致する最初の pattern に対応した actions を実行します。 pattern の形式は、 ファイル名生成に使用する形式と同じです。 ただし、スラッシュ、先行するドット、 またはスラッシュ直後のドットは必ずしも 明示的に一致しなくてもかまいません。
C シェルは switch 文を使用し、各 comparison を、指定された expression (初めにコマンドおよびファイル名展開される) と照合します。 ファイルのメタキャラクタ *、?、 [. . .] は、 case 比較として使用できます。この比較は変数展開されます。 一致する比較が見つかる前にデフォルト比較を検出すると、 そのデフォルト比較の次から実行を開始します。 各 case 文および default 文は、行の先頭になければなりません。コマンド breaksw は endws の次から実行を続けます。それ以外は、C の場合と同様に、後続の case および default 文に制御が移ります。 一致する比較が見つからずデフォルトも指定されていない場合、 endsw の次から実行されます。
case comparison: switch 文の比較表示。
default: expression と一致する comparisons がない場合は、 これがデフォルトの expression になります。 デフォルトはすべての case 比較の後に現れなければなりません。 コマンド行の残りのコマンドは、最初に実行されます。
breaksw は、 switch から抜けて、 endsw の直後から再開します。
case コマンドは、 word に一致する最初の pattern に対応した actions を実行します。 パターンの形式は、 ファイル名生成に使用される形式と同じです ( ksh(1) のファイル名の生成を参照 ) 。
select コマンドは、 標準エラー (ファイル記述子 2) に、一群のワードを各々の前に番号を付けて出力します。 in word . . . を省略すると、定位値パラメタが使用されます。 PS3 プロンプトが出力され、 標準入力から行が読み取られます。 この行が、 リストに示された word のいずれかの番号からなる場合、 identifier が示す変数の値はこの番号に該当する word に設定されます。 この行が空の場合は、 再び選択リストを出力します。 空でない場合は、 identifier 変数の値を NULL に設定します。 標準入力から読み取った行の内容は、 REPLY というシェル変数に保存します。 break または ファイルの終わり (EOF) に到達するまで、 選択が発生するたびに list が実行されます。 list の実行によって REPLY 変数が NULL に設定されると、 2 番目の選択をプロンプトする PS3 の表示前に選択リストが出力されます。
STOPLIGHT=green case $STOPLIGHT in red) echo "STOP" ;; orange) echo "Go with caution; prepare to stop" ;; green) echo "you may GO" ;; blue|brown) echo "invalid stoplight colors" ;; esac
C シェルでは、以下のように改行文字が必要です。
set STOPLIGHT = green switch ($STOPLIGHT) case red: echo "STOP" breaksw case orange: echo "Go with caution; prepare to stop" breaksw case green: echo "you may GO" endsw endsw
STOPLIGHT=green case $STOPLIGHT in red) echo "STOP" ;; orange) echo "Go with caution; prepare to stop" ;; green) echo "you may GO" ;; blue|brown) echo "invalid stoplight colors" ;; esac
次の属性については attributes(5) のマニュアルページを参照してください。
属性タイプ | 属性値 |
使用条件 | SUNWcsu |