Suche…


Einfache Fallaussage

In ihrer einfachsten Form, die von allen bash-Versionen unterstützt wird, führt case-Anweisung den Fall aus, der dem Muster entspricht. ;; Operator bricht nach dem ersten Match ab, falls vorhanden.

#!/bin/bash

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

Ausgänge:

Antartica

Case Statement mit durchfallen

4,0

Seit bash 4.0 wurde ein neuer Operator ;& eingeführt, der einen Durchfallmechanismus bietet.

#! / bin / bash

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

Ausgänge:

Antartica
Brazil
Cat

Nur durchfallen, wenn nachfolgende Muster übereinstimmen

4,0

Da Bash 4.0, einen anderen Betreiber ;;& wurde eingeführt , die auch liefert fallen durch nur dann , wenn die Muster in den nachfolgenden Fall statement (s), falls vorhanden, Spiel.

#!/bin/bash

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

Ausgänge:

Antartica
Cat

In dem folgenden Beispiel stimmt der abc sowohl mit dem ersten als auch dem dritten Fall überein, jedoch nicht mit dem zweiten Fall. Der zweite Fall wird also nicht ausgeführt.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow