기본적인 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
'Embedded System > Shell Script' 카테고리의 다른 글
[Case] 특정 프로세스가 실행되고 있는지 확인하는 script (0) | 2022.09.14 |
---|---|
[func] read (0) | 2020.03.04 |