Posted on 2004/07/05 12:04
Filed Under 프로그래밍/쉘프로그램 조회수:

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

           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 이외의 다른값이 들어오면 루프문에서 빠져 나온다.


* 서진우님에 의해서 게시물 복사되었습니다 (2004-10-07 16:03)
Writer profile
author image
-아랑 -

트랙백 주소 : 이 글에는 트랙백을 보낼 수 없습니다

About

by 서진우

Counter

· Total
: 4610700
· Today
: 168
· Yesterday
: 757