리눅스

쉘 프로그래밍 [조건문 case]

작성자
heukchoo
작성일
2021-01-17 23:59
조회
287
case 문은 간단하다.

case 문은 리눅스 명령어의 옵션과 같은 선택지를 만들 때 유용하다.


조건문 구조


case 변수 in
옵션1) 명령어1;;
옵션2) 명령어2;;
esac

변수와 옵션을 비교하여 해당되는 옵션의 명령어를 수행한다.

옵션행 뒤에는 세미콜론을 두개(;;) 표기한다.

옵션은 몇개든 추가하여 사용할 수 있다.


조건문 예시


case.p 스크립트

#!/bin/bash

case $1 in
1) echo 1;;
2) echo 2;;
3|4) echo "3 or 4";;
1?) echo "over 10";;
*) echo etc;;
esac


$./case.p 1
1

$./case.p 3
3 or 4

$./case.p 11
over 10

$./case.p 20
etc


변수는 매개변수를 사용하여 스크립트가 실행될때 인자값을 입력 받도록 했다.

입력받은 값에 따라 해당 옵션의 명령이 실행된다.

옵션에 or 연산자(|)를 사용하여 두 가지 이상의 비교값을 옵션으로 넣을 수 있다.

?은 문자 하나를 의미한다.
예제에서와 같이 '1?'로 사용하면 1로 시작하는 두 자리 문자가 된다.
(10, 11, 12, 1a, 1b 등이 해당된다.)

명시한 옵션에 없는 값이 입력된 경우, #옵션의 명령이 실행된다.
전체 0