Zoeken…


Eenvoudige case-verklaring

In de eenvoudigste vorm die door alle versies van bash wordt ondersteund, voert case statement de case uit die overeenkomt met het patroon. ;; operator breekt na de eerste wedstrijd, indien aanwezig.

#!/bin/bash

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

uitgangen:

Antartica

Case statement met doorval

4.0

Sinds bash 4.0, een nieuwe exploitant ;& geïntroduceerd die voorziet val door mechanisme.

#! / Bin / bash

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

uitgangen:

Antartica
Brazil
Cat

Vallen alleen als opeenvolgende patronen overeenkomen

4.0

Sinds Bash 4,0, andere operator ;;& geïntroduceerd die ook vallen door indien de patronen in opeenvolgende instructie case (s), eventuele match.

#!/bin/bash

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

uitgangen:

Antartica
Cat

In het onderstaande voorbeeld komt het abc overeen met zowel het eerste als het derde geval, maar niet met het tweede geval. Het tweede geval wordt dus niet uitgevoerd.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow