2016. 3. 26. 23:29ㆍ쉘스크립트
변수들의 값을 서로 비교 할 때 If문을 사용하게 됩니다.
매번 사용할 때 마다 헷갈리곤 하는데 아래와 같이 사용하시면 됩니다.
# 기본 개념 / 형태
if [ conditions ]
then
실행하고자 하는 문장
fi
#########
if [ conditions ]
then
조건만족시 실행하고자 하는 문장
else
조건 불만족시 실행하고자 하는 문장
fi
##########
if [ conditions ]
then
조건만족시 실행하고자 하는 문장
elif [ conditions ]
then
두번째 조건 만족시 실행 문장
else
조건 불만족시 실행하고자 하는 문장
fi
#!/bin/sh num1=4 num2=20 # 특정 값인지 비교 if [ $num1 == "0" ] then echo "num1 = 0" elif [ $num1 == "4" ] then echo "num1 = 4" else echo " ??????? " fi # 두개의 변수 값 비교 if [ $num1 -gt $num2 ] then echo "num1 > num2" else echo "num2 > num1" fi |
# 결과 형태
[root@testserver ~]# ./a.sh num1 = 4 num2 > num1 |
l 문자열체크
[ stringName ] - 문자열이 널(NULL)인지 체크, Null이 아니면 참
[ -n stringName ] - 문자열의 사이즈가 0 이상인지 체크, 0 이상이면 참
[ -z stringName ] - 문자열의 사이즈가 0 인지 체크, 0이면 참
[ stringNameA = stringNameB ] - A문자열과 B문자열이 같은지 체크, 같으면 참
[ stringNameA != stringNameB ] - A문자열과 B문자열이 다른지 체크, 다르면 참
l 숫자 대소 관계 체크
[ intA -ge 100 ] - 숫자 A가 100보다 크거나 같은지 체크, 100 이상이면 참
[ intA -gt 100 ] - 숫자 A가 100보다 큰지 체크, 100이 넘으면 참
[ intA -le 100 ] - 숫자 A가 100보다 작거나 같은지 체크, 100 이하이면 참
[ intA -lt 100 ] - 숫자 A가 100보자 작은지 체크, 100 미만이면 참
l 파일 체크
[ -r filename ] - 해당 파일이 읽기 가능한지 체크
[ -w filename ] - 해당 파일이 쓰기 가능한지 체크
[ -x filename ] - 해당 파일이 실행 가능한지 체크
[ -s filename ] - 해당 파일의 사이즈가 제로 이상인지 체크
[ -d filename ] - 해당 파일이 디렉토리 파일인지 체크
[ -f filename ] - 해당 파일이 보통 파일인지 체크
[ -h filename ] - 해당 파일이 링크 파일인지 체크
l 조건문의 결합
[ 조건문A -a 조건문B ] - 조건문 A와 B가 모두 참인지 체크, -a는 AND
[ 조건문A -o 조건문B ] - 조건문 A와 B중 참이 하나라도 있는지 체크, -o는 OR
'쉘스크립트' 카테고리의 다른 글
쉘스크립트 for문 (0) | 2017.11.19 |
---|---|
[쉘스크립트] 오라클에서 data 가져오기 (select문) (0) | 2017.04.02 |
[쉘스크립트] 숫자 연산하기 (더하기, 빼기, 곱하기, 나누기) (0) | 2016.03.27 |
[쉘스크립트] 시간출력 (0) | 2016.03.26 |