System Admin

본문 바로가기
사이트 내 전체검색


RedHat Linux >> System Administration for Redhat Linux
[목차]
제2장 쉘 프로그래밍

    7. 조건문 Ⅱ - case


이 문법은 if 문을 여러 개 사용하는 것과 같은 효과를 낼 수 있습니다. 단지 if 문처럼 다양한 조건식 보다는 간단한 비교에 적당합니다.

# vi case1.sh

#!/bin/sh
case "$1" in

start)

echo "start"

;;

stop)

echo "stop"

;;

*)

echo "syntax error"

;;

esac

# chmod +x case1.sh

# case1.sh start

 

앞에서 '$1'은 스크립트로 들어온 첫 번째 아규먼트를 뜻하는 것이며 첫 번째 아규먼트의 문자열에 따라서 명령을 수행하는 방법을 보여주고 있습니다. 여기서 *은 '그 이외에' 라는 뜻으로 이해하면 됩니다.

앞의 문법으로 다음과 같이 여러 값을 동시에 선택할 수 있습니다.

# vi case2.sh

#!/bin/sh
case $1 in

")

     echo '$0: usage: daemon [+/0nicelevel] {program}'

     exit 1;;

-*|+*)

     nicelevel=$1

     shift;;

*)

     nicelevel=0;;

esac

 

즉 '|'를 사용함으로써 or 조건으로 사용될 수 있습니다. 여기서 '-*'는 '처음 문자가 '-'로 시작한다면' 이라는 뜻입니다. shift는 입력된 외부 아규먼트를 끌어당기게 되는데 앞의 예를 실행할 때 두 개의 아규먼트가 들어온다면 shift를 사용함으로써 두 번째 아규먼트가 첫 번째 아규먼트의 버퍼로 들어오게 되는 것입니다.

 

[목차]

개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.