Sök…


Enkelt ärende

I sin enklaste form som stöds av alla versioner av bash, kör uttalande av ärenden som matchar mönstret. ;; operatören bryter efter den första matchen, om någon.

#!/bin/bash

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

utgångar:

Antartica

Sakförklaring med fall

4,0

Sedan bash 4.0 introducerades en ny operatör ;& som ger fall genom mekanism.

#! / Bin / bash

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

utgångar:

Antartica
Brazil
Cat

Fall bara genom om efterföljande mönster matchas

4,0

Sedan Bash 4.0 introducerades en annan operatör ;;& som också tillhandahåller faller endast om mönstren i efterföljande ärende (er), om några, matchar.

#!/bin/bash

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

utgångar:

Antartica
Cat

I exemplet nedan matchar abc både första och tredje fall men inte andra fall. Så är det andra fallet inte kört.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow