C Shell Wiki
Posts (Latest 10 updated) :
Read all
Contents:
  1. [UNIX] C Shell (csh) case の使い方: パターンマッチングのための条件分岐
    1. Overview
    2. Usage
    3. Common Options
    4. Common Examples
      1. 例1: 簡単な条件分岐
      2. 例2: 数字の範囲による条件分岐
      3. 例3: 拡張子によるファイルタイプの判別
    5. Tips

[UNIX] C Shell (csh) case の使い方: パターンマッチングのための条件分岐

Overview

case コマンドは、指定したパターンに基づいて条件分岐を行うためのコマンドです。特に、複数の条件を簡潔に処理する際に便利です。

Usage

基本的な構文は以下の通りです。

case [変数] in
    [パターン1]) [コマンド1];;
    [パターン2]) [コマンド2];;
    ...
esac

Common Options

case コマンドには特別なオプションはありませんが、パターンマッチングにおいて以下の点に注意が必要です。

  • * : 任意の文字列にマッチします。
  • ? : 任意の1文字にマッチします。
  • [...] : 指定した文字のいずれか1文字にマッチします。

Common Examples

例1: 簡単な条件分岐

set fruit = "apple"
case $fruit in
    "apple") echo "リンゴです";;
    "banana") echo "バナナです";;
    *) echo "未知の果物です";;
esac

例2: 数字の範囲による条件分岐

set number = 5
case $number in
    1|2|3) echo "1から3の範囲です";;
    4|5|6) echo "4から6の範囲です";;
    *) echo "それ以外の数字です";;
esac

例3: 拡張子によるファイルタイプの判別

set file = "document.txt"
case $file in
    *.txt) echo "テキストファイルです";;
    *.jpg) echo "画像ファイルです";;
    *) echo "その他のファイルです";;
esac

Tips

  • case コマンドは、複数の条件を簡潔に処理できるため、スクリプトの可読性が向上します。
  • パターンを設定する際には、最も具体的な条件を先に書くと良いでしょう。
  • 変数の値が空でないことを確認してから case を使用すると、予期しない動作を避けることができます。