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

레벨246-1 : 쉘프로그램내에서 사용되는 until문의 사용방법과 실 사용 예

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

레벨246-1 : 쉘프로그램내에서 사용되는 until문의 사용방법과 사용

 

리눅스 쉘프로그램내에서 사용되는 until문은 주어진 조건식이 (종료코드가 0 경우에 ) 때까지 “do ~ done” 내용을 반복 실행하는 반복문입니다. , until문과 while문은 비슷해 보이지만 조건문의 의미가 상반된 경우입니다. 아래 until문과 while문의 간단한 비교를 보시기 바랍니다.

 

while 조건문이 참이면 “do ~ done”내용을 계속 반복 실행한다. , 조건문이 거짓이면 while문을 종료하고 done다음으로 넘어간다.

 

until 조건문이 거짓이면 “do ~ done”내용을 계속 반복 실행한다. , 조건문이 참이면 until문을 종료하고 done다음문으로 넘어간다.

 

위의 차이점은 분명히 이해하시기 바랍니다.

 

첨언한다면 사실, while until 전혀 헷갈리지 않습니다. 영문구조만 이해하신다면 너무나 당연한 것입니다. , while 참일동안...”이라는 의미하며, until 참이 될때까지...”라는 의미이기 때문입니다.

 

다음은 until문의 사용형식입니다.

 

until 조건문


do

  조건문이 거짓일 동안에 실행될 명령문들

done

 

말씀드린바와 같이 조건문 값이 거짓일 동안에“do ~ done” 내용을 계속해서 반복실행합니다. done문을 만나면 until문의 처음으로 돌아가서 다시 조건문 평가합니다. “조건문 참이면 until문을 종료하게 됩니다. , “조건문 결과가 0이면 참이 되어 until문은 종료되고 done다음에 있는 문장으로 넘어갑니다.

 

다음은 until반복문을 이용한 간단한 쉘프로그램입니다.

 

[root@command root]# cat until01.sh

#!/bin/bash

 

var1=0

 

until (( $var1 == 5 ))

 

do

 echo "var1 value is $var1"

 let var1+=1

done

[root@command root]#

 

위의 쉘프로그램을 설명하면 다음과 같습니다.

 

var1=0

var1변수의 초기값으로 0 할당되었습니다.

 

until (( $var1 == 5 ))

var1 변수값이 5 같을 때까지 계속해서 반복합니다. 만약 var1값이 5 되면  until반복문을 종료하고 done다음으로 넘어갑니다.

 

do

 echo "var1 value is $var1"

 let var1+=1

done

 

var1 값이 5 때까지 계속 실행될 내용입니다. 반복문 내에 있는“let var+=1” 한번씩 실행될 때마다 var1 값이 1 증가되어 조건문의 상태를 변화시킵니다.

 

결론적으로 쉘프로그램은 var1 값이 0, 1, 2, 3, 4 각각 한번씩 실행되며 모두 5 반복될 것입니다.

 

다음은 위의 until01.sh 쉘프로그램을 실행한 예입니다.

 

[root@command root]# ./until01.sh

var1 value is 0

var1 value is 1

var1 value is 2

var1 value is 3

var1 value is 4

[root@command root]#

 

위의 until01.sh쉘프로그램의 실행과정을 간단히 설명하면 다음과 같습니다.

 

var1변수에 0 할당되었을 var1 value is 0”이 출력되고 var1변수값이 1 증가되어 1 됩니다.
var1
변수가 1 되었을 var1 value is 1”이 출력되고 var1변수값이 1 증가되어 2 됩니다.

var1변수가 2 되었을 var1 value is 2”가 출력되고 var1변수값이 1 증가되어 3 됩니다.

var1변수가 3 되었을 var1 value is 3”이 출력되고 var1변수값이 1 증가되어 4 됩니다.

var1변수가 4 되었을 var1 value is 4”가 출력되고 var1변수값이 1 증가되어 5 됩니다.

 

var1변수가 5 되었을 조건문이 참이 되어 until반복문이 종료됩니다.

 

그리고 done다음에 실행될 명령문이 없으므로 쉘프로그램은 종료됩니다.

 

관련자료

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

공지사항


뉴스광장


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