Bash case 문을 사용하는 방법

How Use Bash Case Statement



Bash case 문은 if-else 문과 비슷하지만 더 쉽고 간단합니다. 여러 값에 대해 하나의 변수를 일치시키는 데 도움이 됩니다. 다수의 Elif 문이 있는 IF-else 문이 필요할 때 사용합니다... C의 switch 문과 매우 유사하지만 bash case 문은 패턴이 일치하면 앞으로 이동하지 않습니다.

이 기사에서는 Linux OS에서 Bash case 문을 예제로 사용하는 방법을 설명합니다.







bash case 문의 구문

다음은 bash case 문의 구문입니다.



통사론:



사례 $ 변수 ~에
무늬-1)
명령
;;
무늬-2)
명령
;;
무늬-)
명령
;;
패턴-N)
명령
;;
*)
명령
;;
이삭
  • case 문은 case로 시작하여 esac로 끝납니다.
  • )은 패턴을 종료하는 데 사용됩니다. 여러 패턴을 분리하려면 | 연산자는 아래와 같이 사용됩니다.
사례 $ 변수 ~에
무늬-1|무늬-2)
명령
....
....
;;
무늬-|무늬-4)
명령
....
....
;;
  • 명령이 있는 패턴을 절이라고 하며 모든 절은 (;;)로 끝납니다.
  • 별표 기호*를 사용하여 기본 케이스를 정의할 수 있습니다.
  • Bash case 문은 먼저 입력 $variable을 다른 패턴과 일치시킵니다. 패턴이 일치하면 이중 세미콜론(;;)까지 해당하는 명령 집합이 실행됩니다.

예 1:

다음 예는 사용자에게 월 이름을 입력하도록 요청하는 bash 현금 명세서에 대한 것입니다. 이 입력이 스크립트에 정의된 패턴과 일치하면 해당 echo 명령이 실행됩니다. echo 명령은 특정 월의 국제 이벤트에 대한 정보를 표시합니다.

이 스크립트를 사용하려면 간단한 텍스트 파일을 만드십시오. .sh 파일 확장자로 이름을 지정하십시오. 거기에 다음 스크립트를 추가하고 저장하십시오. 그런 다음 터미널에서 다음 명령을 실행하여 이 파일에 실행 권한을 할당합니다.

$수도 chmod 777파일명.sh

이 bash 파일을 실행하려면 다음과 같이 ./ 다음에 bash 파일 이름을 실행하면 됩니다.

$./파일명.sh

스크립트를 실행할 때 월 이름을 입력으로 입력하라는 메시지가 표시됩니다. 월 이름이 일치하면 해당 월의 해당 이벤트가 표시되고, 일치하지 않으면 일치하는 정보가 없음이 표시됩니다.

shopt -s nocasematch는 대소문자에 관계없이 패턴을 일치시키는 데 사용됩니다.

상점 -NSnocasematch

던졌다 '달 이름 입력'
읽다
사례 $월 ~에
1 월)
던졌다 ' 1월 24일 세계 교육의 날.'
;;
2 월)
던졌다 ' 2월 20일 세계 사회 정의의 날 .'
;;
3 월)
던졌다 '3월 8일 세계 여성의 날'.
;;
4 월)
던졌다 4월 7일 세계 보건의 날'
;;
할 수있다)
던졌다 5월 15일 세계 가정의 날'
;;
6 월)
던졌다 '6월 20일 세계 난민의 날'
;;
칠월)
던졌다 '7월 11일 세계 인구의 날'
;;
*)
던졌다 '일치하는 정보가 없습니다'
;;
이삭

예 2:

다음은 사용자가 국가명을 입력하도록 하는 bash 현금 명세서에 대한 예시입니다. 이 입력이 스크립트에 정의된 패턴과 일치하면 해당 echo 명령이 실행됩니다. echo 명령은 특정 국가의 수도에 대한 정보를 표시합니다.

이 스크립트를 사용하려면 위의 예에서 설명한 것과 동일한 방법을 따르십시오. 완료되면 스크립트를 실행하고 국가 이름을 입력으로 입력하라는 메시지가 표시됩니다. 국가 이름이 미리 정의된 국가 이름과 일치하면 해당 국가의 대문자 이름이 표시되고, 그렇지 않으면 정보를 사용할 수 없음 메시지가 표시됩니다.

#!/bin/bash
상점 -NSnocasematch
던졌다 -N '국가 이름 입력: '
읽다국가

던졌다 -N '의 수도$국가이다 '
사례 $국가 ~에
파키스탄)
던졌다 -N '이슬라마바드'
;;
피지)
던졌다 -N '마른'
;;
영국| '영국')
던졌다 -N '런던'
;;
칠면조)
던졌다 -N '앙카라'
;;
용도)
던졌다 -N '워싱턴 DC'
;;
*)
던졌다 -N '정보가 없습니다'
;;
이삭
던졌다 ''

Bash 케이스 문은 bash 스크립트를 읽고 이해하기 쉽게 만듭니다. 이 기사에서는 bash case 문을 작성하고 사용하는 방법을 다루었습니다. 이제 case 문을 사용하여 일종의 다단계 if-else 문을 쉽고 간단하게 작성할 수 있습니다.