본문 바로가기
Embedded System/Shell Script

조건문(If문) (작성중...)

by rewyear 2020. 2. 11.

기본적인 if ... elif ... else 식

 # If문 기본 형태
 
 if [ 조건문1 ];then
 	수행문1
   
 elif [ 조건문2 ]; then
 	수행문2
    
 else
 	수행문3
 fi

조건문 양 옆의 '['와 ']' 사이에는 무조건 공백으로 띄어져있어야한다. (공백이 없으면 스크립트 실행시 에러!!!)

 

흔히 알고 있는 if문의 조건식(==, !=)과 다르게 쉘 스크립트에서는 다양한 조건을 옵션으로 제공한다

 

 

 

Shell Script 옵션 종류

 

문자열체크

[ string ] - 문자열이 (NULL)인지 체크, Null 아니면 

[ -n string ] - 문자열의 사이즈가 0 이상인지 체크, 0 이상이면 

[ -z string ] - 문자열의 사이즈가 0 인지 체크, 0이면 

[ string1 = string2 ] - 문자열1과 문자열2이 같은지 체크같으면 

[ string1 != string2 ] - 문자열1과 문자열2이 다른지 체크다르면 

 

숫자 대소 관계 체크

[ A -ge cmp ] - 숫자 A cmp보다 크거나 같은지 체크, cmp이상이면 

[ A -gt cmp ] - 숫자 A cmp보다 큰지 체크, cmp 넘으면 

[ A -le cmp ] - 숫자 A cmp보다 작거나 같은지 체크, cmp이하이면 

[ A -lt cmp ] - 숫자 A cmp보자 작은지 체크, cmp미만이면 

 

파일관련 옵션

[ -r FILE ] - 해당 파일이 읽기 가능한지 체크

[ -w FILE ] - 해당 파일이 쓰기 가능한지 체크

[ -x FILE ] - 해당 파일이 실행 가능한지 체크

[ -s FILE ] - 해당 파일의 사이즈가 제로 이상인지 체크

[ -d FILE ] - 해당 파일이 디렉토리 파일인지 체크

[ -f FILE ] - 해당 파일이 보통 파일인지 체크

[ -h FILE ] - 해당 파일이 링크 파일인지 체크

 

조건문의 결합

조건문1 -a 조건문2 ] - 조건문 1과 조건문 2 모두 참인지 체크, AND

조건문1 -o 조건문2 ] - 조건문 1 조건문 2 참이 하나라도 있는지 체크, OR

 

 

 

300x250