수색…


단순 사례 진술

모든 버전의 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 는 첫 번째와 세 번째 대 / 소문자 모두 일치하지만 두 번째 대 / abc 일치하지 않습니다. 따라서 두 번째 경우는 실행되지 않습니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow