[강좌][shell] 루프(while, until) 구문에 대하여

======================================================================

           SHELL PROGRAMMING [6] 루프구문 (while,util)

본 강좌는 본인의 허락없이 무단 복사하거나 타 사이트에 등록하는것을

금지 합니다.  –  서진우(alang at sysmng.com)

======================================================================

6.1 while 구문

while 구문은 다른 프로그래밍 언어에서와 같이 조건이 만족하는 한 do 와

done 사이에 실행 구문을 반복하여 실행한다.

형식 ———————————————

while [ test 조건문 ]

do

    실행 구문

done

————————————————–

주의점 : 조건문이 항상 참이나 0 보다 크면 무한 루트문이 된다.

예제 ——————————————–

#!/bin/sh

while [ 1 ]

do

    echo “test”

done

————————————————

이밖에 1 대신에 : 를 사용하여도 무한루프로 작동하게 된다.

6.2 until 구문

while 문 과는 반대로 조건문이 참이면 루프를 끝낸다.

형식 ———————————————

until test 조건문

do

    실행 구문

done

————————————————–

예제 ———————————————

#!/bin/sh

until who | grep “zzang”

do

    sleep 10

done

echo “zzang is login”

————————————————–

위 예제는 10 초 마다 접속자 마다 zzang 의 계정이 시스템에 들어

왔는지를 확인한후 들어 왔으면 zzang is login 이란 문장을 출력

하고 루프에서 빠져 나온다.

6.3 continue and break

continue 와 break 는 다른 프로그램 언어에서와 사용법이 유사하다.

둘다 루프문에서 사용되어지는데 continue 는 루프 수행중 continue 이하

내용은 생략하고 다시 조건 검사를 하도록 하는 것이고 break 는 루프문

에서 강제로 빠져 나올때 사용된다.

예제 ——————————————–

while :

do

    read X

    if [ “$X” = “yes” ]

        continue

    else

        break

    fi

done

————————————————

위는 입력대기모드의 키워드 값이 yes 면 다시 입력대기모드로 들어가고

yes 이외의 다른값이 들어오면 루프문에서 빠져 나온다.

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

페이스북/트위트/구글 계정으로 댓글 가능합니다.