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



if 문 기본 사용 법



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

예를 들어 if ( a = b ) 이런 것이 if[ a -eq b ];then fi 형식으로 되어 있다 보니 if문을 사용 시 조건식을 보면서 짜야 할 정도 입니다.


우선 if문 기본 형식 부터 알아 봅시다.

 if [ 값1 조건식 값2 ];then

   수행문

 fi 


if 한칸 띄고 [ 넣고 값과 조건식을 넣어야 하는데 띄어쓰기도 틀리면 스크립트 에러가 나므로 유의하셔서 작성 하시기 바랍니다.

아래는 if문을 활용한 예제 입니다. 


#! /bin/ksh


value=0


if [ ${value} -eq 0 ];then

   echo value is 0  

fi


결과는 value가 0이므로 "value is 0"이 출력 됩니다.


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


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


[ -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랑 같은 파일이면 참



if문에 다양한 조건식을 활용한 예제 입니다.


#! /bin/ksh


value=0


if [ ${value} -eq 0 ];then

   echo value is 0  

fi


if [ ${value} -ne 1 ];then

    echo value is not 1

fi


test=5


if [ ${test} -gt 2 -a ${test} -le 7 ];then

    echo test greater then 2 and lower then 7

fi 


여기서 AND와 OR 조건 사용 형식에 대해 알아보겠습니다.


[AND] 

 if [ 값1 조건식 값2 -a 값1 조건식 값2 ];then

   수행문

 fi 


[OR] 

 if [ 값1 조건식 값2 -o 값1 조건식 값2 ];then

   수행문

 fi 



이상으로 shell scrip에서 if문 사용법에 대한 설명을 마치겠습니다.

도움이 되셨습니까?

반응형

+ Recent posts