강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

레벨241-2 : case문의 실 사용 예

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

레벨241-2 : case문의 사용

 

다음은 /etc/rc.d/init.d/디렉토리내에 있는 sshd 스크립트파일의 일부입니다. 아래의 쉘스크립트파일을 보시면 case문을 사용하고 있고 $1이라는 변수값에 따라서 어떤 것을 실행할 것인가를 선택적으로 처리할 수 있습니다. 

 

case "$1" in

        start)

                start

                ;;

        stop)

                stop

                ;;

        restart)

                stop

                start

                ;;

        reload)

                reload

                ;;

        condrestart)

                if [ -f /var/lock/subsys/sshd ] ; then

                        do_restart_sanity_check

                        if [ "$RETVAL" = 0 ] ; then

                                stop

                                # avoid race

                                sleep 3

                                start

                        fi

                fi

                ;;

        status)

                status -p $PID_FILE openssh-daemon

                RETVAL=$?

                ;;

        *)

                echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}"

                RETVAL=1

esac

 

$1에는 명령어를 제외한 첫번째 인자가 할당됩니다. , 사용자가 sshd start를 실행했을 경우에는 $1변수에 start라는 변수가 할당되고, sshd stop을 실행하였을 경우에는 $1 stop이 할당되며, sshd restart를 실행하였을 경우에는 $1 restart가 할당이 됩니다 그리고 sshd status를 실행하였을 경우에는 $1 status가 각각 할당되어서 case문 내에 설정되어 있는 해당 내용이 실행되게 됩니다.

 

결론적으로 case문은 여러 가지 메뉴를 가진 선택 형 쉘프로그램 개발에 최적이라는 것을 알 수 있습니다. 이번 쉘프로그램을 응용하여 실무에서 사용할 수 있는 유용한 쉘프로그램을 직접 만들어 보시기 바랍니다.

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  102 명