Linuxpia/Linux 명령어

[리눅스 명령어] 조건 처리하기, case

Linuxpia4U 2023. 7. 15. 23:04
반응형

리눅스 명령어, case

'case'는 Bash (Bourne Again SHell) 스크립트에서 조건문을 처리하기 위한 명령어입니다. 'case'문은 하나의 변수 또는 표현식의 값에 따라 여러 동작을 분기할 수 있게 해주는 구조입니다.

 

'case'문의 기본적인 문법은 다음과 같습니다.

case expression in
    pattern1 )
        commands ;;
    pattern2 )
        commands ;;
    ...
esac
  • 'expression'은 평가하려는 변수 또는 표현식입니다.
  • 'pattern'은 'expression'의 값이 일치해야 하는 패턴입니다. 각 패턴은 괄호 () 안에 있고, 'commands'는 해당 패턴에 일치하는 경우에만 실행됩니다.
  • ';;'는 각 패턴에 대한 명령어 블록을 종료합니다.
  • 'esac'는 'case'문을 종료합니다.

사례

다음은 'case'문을 사용하는 예제입니다.

#!/bin/bash

read -p "Enter a color (red/green/blue): " color

case $color in
    red )
        echo "You chose red." ;;
    green )
        echo "You chose green." ;;
    blue )
        echo "You chose blue." ;;
    * )
        echo "Invalid color." ;;
esac

이 스크립트는 사용자에게 색상을 입력하라는 메시지를 출력하고, 입력된 색상에 따라 다른 메시지를 출력합니다. 'red', 'green', 'blue' 중 하나가 아닌 경우, "Invalid color."라는 메시지를 출력합니다. '*' 패턴은 어떤 값이든 일치하므로, 이것은 기본적으로 'else'절처럼 작동합니다.

반응형