Bashのcaseステートメントの使用方法

How Use Bash Case Statement



Bashのcaseステートメントはif-elseステートメントに似ていますが、より簡単で単純です。 1つの変数を複数の値と照合するのに役立ちます。これは、多数のElifステートメントを含むIF-elseステートメントが必要な場合に使用されます…Cのswitchステートメントと非常に似ていますが、パターンが一致するとbashcaseステートメントは先に進みません。

この記事では、LinuxOSでの例を使用してBashcaseステートメントを使用する方法を説明します。







bashcaseステートメントの構文

bashcaseステートメントの構文は次のとおりです。



構文:



場合 $変数
パターン-1)。
コマンド
;;
パターン-2)。
コマンド
;;
パターン-3)。
コマンド
;;
パターン-N)。
コマンド
;;
*)。
コマンド
;;
esac
  • caseステートメントはcaseで始まり、esacで終わります
  • )は、パターンを終了するために使用されます。複数のパターンを分離するには、|演算子は次のように使用されます。
場合 $変数
パターン-1|パターン-2)。
コマンド
...。
...。
;;
パターン-3|パターン-4)。
コマンド
...。
...。
;;
  • コマンドを使用するパターンは句と呼ばれ、すべての句は(;;)で終わります。
  • アスタリスク記号*を使用して、デフォルトのケースを定義できます。
  • Bash caseステートメントは、最初に入力$変数をさまざまなパターンと照合します。パターンが一致すると、ダブルセミコロン(;;)までの対応するコマンドセットが実行されます。

例1:

次の例は、ユーザーに月名の入力を求めるbashキャッシュステートメントに関するものです。この入力がスクリプトで定義されたパターンと一致する場合、対応するエコーコマンドが実行されます。 echoコマンドは、その特定の月の国際イベントに関する情報を表示します。





このスクリプトを使用するには、簡単なテキストファイルを作成します。 .shファイル拡張子を付けて名前を付けます。次のスクリプトを追加して保存します。次に、ターミナルで次のコマンドを実行して、このファイルを実行権限に割り当てます。

$sudo chmod 777filename.sh

このbashファイルを実行するには、次のように./に続けてbashファイル名を実行します。



$/filename.sh

スクリプトを実行すると、入力として月の名前を入力するように求められます。月の名前が一致する場合は、その特定の月の対応するイベントが表示されます。一致しない場合は、一致する情報が見つかりません。

shopt -s nocasematchは、大文字と小文字に関係なくパターンを照合するために使用されることに注意してください。

お店 -NSnocasematch

捨てた 「月の名前を入力してください」
読んだ
場合 $ month
1月)。
捨てた 「1月24日国際教育の日。」
;;
2月)。
捨てた 「2月20日世界社会正義の日。」
;;
行進)。
捨てた 「3月8日国際女性の日。」
;;
4月)。
捨てた 「4月7日世界保健デー」
;;
5月)。
捨てた 「5月15日の国際家族デー」
;;
六月)。
捨てた 「6月20日世界難民の日」
;;
7月)。
捨てた 「7月11日世界人口デー」
;;
*)。
捨てた 「一致する情報が見つかりません」
;;
esac

例2:

次の例は、ユーザーが国名を入力するように求められるbashキャッシュステートメントに関するものです。この入力がスクリプトで定義されたパターンと一致する場合、対応するエコーコマンドが実行されます。 echoコマンドは、その特定の国の首都に関する情報を表示します。

このスクリプトを使用するには、上記の例で説明したのと同じ方法に従います。完了したら、スクリプトを実行すると、入力として国の名前を入力するように求められます。国名が事前定義された国名と一致する場合は、その国の首都名が表示されます。一致しない場合は、「情報が利用できません」というメッセージが表示されます。

#!/ bin / bash
お店 -NSnocasematch
捨てた -NS '国の名前を入力してください:'
読んだ

捨てた -NS 'の首都$ countryは '
場合 $ country
パキスタン)。
捨てた -NS 「イスラマバード」
;;
フィジー)。
捨てた -NS 'ドライ'
;;
イギリス| 'イギリス')。
捨てた -NS 「ロンドン」
;;
七面鳥)。
捨てた -NS 「アンカラ」
;;
使用法)。
捨てた -NS 'ワシントンDC'
;;
*)。
捨てた -NS 「情報がありません」
;;
esac
捨てた ''

Bashのcaseステートメントを使用すると、bashスクリプトが読みやすく理解しやすくなります。この記事では、bashcaseステートメントを記述して使用する方法について説明しました。これで、caseステートメントを使用するだけで、一種のマルチレベルif-elseステートメントを簡単かつ簡単に記述できます。