Shell Script( 쉘 스크립트 ) while 문 사용법, 조건식



while 문 기본 사용 법




쉘에서 while문을 사용 시 조건 식이 문자로 되어있어 다소 어려움을 겪을 수 있습니다.

예를 들어 ( <, >, = ) 기호가 ( -eq, -lt ) 등 다르게 표기 되고 있기 때문입니다.

일단 while문 기본 형식 부터 알아보겠습니다.


 while [ 값1 조건식 값2 ]

 do

   수행문

   수행문

 done 



while 문과 조건 사이에 띄어 쓰기를 주의해서 작성 하셔야 에러 없이 동작합니다.

다음은 while문을 활용 해서 1~4까지 출력하는 간단한 예를 보겠습니다.


#! /bin/ksh


i=1


while [ $i -lt 5 ]

do

        echo $i

        i=$(($i+1))

done



여기서 -lt 는 < 와 같은 뜻이라고 생각 하면 됩니다.


while 문에 사용되는 조건문 종류


while문에 사용 되는 조건식은 아래와 같습니다.




[ -z ] : 문자열의 길이가 0이면 참

[ -n ] : 문자열의 길이가 0이 아니면 참


[ -eq ] : 값이 같으면 참

[ -ne ] : 값이 다르면 참

[ -gt ] :  값1 > 값2

[ -ge ] : 값1  >= 값2

[ -lt ] : 값1 < 값2

[ -le ] : 값1 <= 값2


[ -a ] : &&연산과 동일 and 연산

[ -o ] : ||연산과 동일 xor 연산


[ -d ] : 파일이 디렉토리면 참

[ -e ] : 파일이 있으면 참

[ -L ] : 파일이 심볼릭 링크면 참

[ -r ] : 파일이 읽기 가능하면 참

[ -s ] : 파일의 크기가 0 보다 크면 참

[ -w ] : 파일이 쓰기 가능하면 참

[ -x ] : 파일이 실행 가능하면 참

[ 파일1 -nt 파일2 ]  : 파일1이 파일2보다 최신파일이면 참

[ 파일1 -ot 파일2 ]  : 파일1이 파일2보다 이전파일이면 참

[ 파일1 -ef 파일2 ] : 파일1이 파일2랑 같은 파일이면 참


반응형

+ Recent posts