Szukaj…


Proste zestawienie przypadków

W najprostszej formie obsługiwanej przez wszystkie wersje bash instrukcja case wykonuje przypadek pasujący do wzorca. ;; operator przerywa po pierwszym meczu, jeśli taki istnieje.

#!/bin/bash

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

Wyjścia:

Antartica

Deklaracja przypadku z upadkiem

4.0

Od bash 4.0, nowego operatora ;& została wprowadzona, która zapewnia spadek przez mechanizm.

#! / bin / bash

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

Wyjścia:

Antartica
Brazil
Cat

Wypadają tylko wtedy, gdy pasują kolejne wzory

4.0

Od Basha 4.0, innego operatora ;;& został wprowadzony, który również nie mieści się tylko wtedy, gdy w kolejnych wzorów sprawozdania przypadku (S), jeżeli występuje, dopasowanie.

#!/bin/bash

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

Wyjścia:

Antartica
Cat

W poniższym przykładzie abc pasuje zarówno do pierwszego, jak i trzeciego przypadku, ale nie do drugiego. Tak więc druga sprawa nie jest wykonywana.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow