if 조건문 사용법
*주의점
대괄호 [ ] 의 앞 뒤는 반드시 공백이 있어야 함
변수의 입력 방식 ${변수명}
if 로 시작해서 fi 로 끝남
if [ 조건 ]
then
참일 때 실행
if
- 예시 test.sh
#!/bin/sh
a=1
if [ ${a} == "1" ]
then
echo "True"
else
echo "False"
fi
exit 0
같다(equal) 조건문 3가지
두 문자열(string)이 같을 때
1. ==
두 값(value)이 같을 때
2. =
3. -eq
#!/bin/sh
a=1
if [ ${a} == "1" ]
then
echo "True"
else
echo "False"
fi
if [ ${a} = "1" ]
then
echo "True"
else
echo "False"
fi
if [ ${a} -eq "1" ]
then
echo "True"
else
echo "False"
fi
exit 0
다르다(negative equal) 조건문 2가지
두 문자열(string)이 다를 때
1. !=
두 값(value)이 다를 때
2. -ne
#!/bin/sh
a=1
if [ ${a} != "1" ]
then
echo "True"
else
echo "False"
fi
if [ ${a} -ne "1" ]
then
echo "True"
else
echo "False"
fi
exit 0
b보다 a가 크다(greater than) 조건문
-gt ( a > b)
#!/bin/sh
a=1
b=2
if [ ${a} -gt ${b} ]
then
echo "True"
else
echo "False"
fi
exit 0
b 보다 a가 같거나 크다(greater equal) 조건문
-ge ( a >= b)
#!/bin/sh
a=1
b=2
if [ ${a} -ge ${b} ]
then
echo "True"
else
echo "False"
fi
exit 0
b 보다 a가 작다(less than) 조건문
-lt ( a < b)
#!/bin/sh
a=1
b=2
if [ ${a} -gt ${b} ]
then
echo "True"
else
echo "False"
fi
exit 0
b보다 a가 같거나 작다(less equal) 조건문
-le ( a <= b)
#!/bin/sh
a=1
b=2
if [ ${a} -le ${b} ]
then
echo "True"
else
echo "False"
fi
exit 0
<< 파일 관련 조건문 >>
-d ${파일명} | 파일명 이 directory(디렉터리) 일 때 True |
-e ${파일명} | 파일명 이 존재하면 True (파일 폴더 가리지 않고 존재 확인) |
-f ${파일명} | 파일 유무 및 보통파일인지 확인 |
-g ${파일명} | 파일명 에 Group id가 있으면 True |
-r ${파일명} | 파일명 이 readable(읽기 가능)이면 True |
-s ${파일명} | 파일명 의 크기가 0이 아니면 True |
-u ${파일명} | 파일명 이 user id가 있으면 True |
-w ${파일명} | 파일명 이 writable(쓰기가능)이면 True |
-x ${파일명} | 파일명 이 executable(실행 가능)이면 True |
예) fileName의 경로에 해당 파일이 있는지 없는지 확인하는 예제
#!/bin/sh
fileName="/root/mybash.sh"
if [ -e ${fileName} ]
then
echo "File is existed"
else
echo "File is not existed"
fi
exit 0
(알아두기)
NULL이 아니면 참
-n
NULL이 맞으면 참
-z
수식이 거짓이면 참(NOT조건)
!수식
AND 조건
&&
-a
OR 조건
||
-o
AND연산자 사용 예
#!/bin/sh
echo "Tell me your file name"
read fname
if [ -f ${fname} ] && [ -s ${fname} ] ;
then
echo "existed"
else
echo "non-existed or 0 size"
fi
exit 0
(결과) AND조건으로 파일 존재 유무 확인
더 자세한 사항은 아래 블로거님 참고
blackinkgj.github.io/shell-program/
'리눅스 > Bash Shell 스크립트' 카테고리의 다른 글
[CentOS 7] 리눅스 배시 셸 (bash Shell) 사용자 정의 함수 만들기 (0) | 2021.03.14 |
---|---|
[CentOS 7] 리눅스 배시 셸 (bash Shell) for 반복문, while 반복문 (0) | 2021.03.14 |
[CentOS 7] 리눅스 배시 셸 (bash Shell), bash 변수 할당 출력, 변수 파싱(parsing), 계산 (0) | 2021.03.06 |
[CentOS 7] 리눅스 배시 셸 (bash Shell), bash 만들기/bash 실행 (0) | 2021.03.05 |
[CentOS 7] 리눅스 배시 셸 (bash Shell), bash 기본 환경변수값 (0) | 2021.03.03 |