サーチ…


シンプルなケースステートメント

case文は、bashのすべてのバージョンでサポートされている最も単純な形式で、パターンに一致するcaseを実行します。 ;;オペレータは、最初の一致があった場合にそれを破棄します。

#!/bin/bash

var=1
case $var in
1)
  echo "Antartica"
 ;;
2)
  echo "Brazil"
 ;;
3)
  echo "Cat"
 ;;
esac

出力:

Antartica

ケーススタディ

4.0

bash 4.0以降、新しい演算子;&が導入され、 fall throughメカニズムが提供されました。

#!/ bin / bash

var=1
case $var in
1)
  echo "Antartica"
  ;&
2)
  echo "Brazil"
  ;&
3)
  echo "Cat"
  ;&
esac

出力:

Antartica
Brazil
Cat

後続のパターンが一致した場合にのみ終了する

4.0

Bash 4.0以降では、別の演算子;;&が導入されました。これは、後続のcase文のパターンがあれば 、そのパターンが一致する場合にのみ、 fall throughも提供します。

#!/bin/bash

var=abc
case $var in
a*)
  echo "Antartica"
  ;;&
xyz)
  echo "Brazil"
  ;;&
*b*)
  echo "Cat"
  ;;&
esac

出力:

Antartica
Cat

以下の例では、 abcは第1ケースと第3ケースの両方に一致しますが、第2ケースは一致しません。したがって、2番目のケースは実行されません。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow