Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 용인맛집
- 황리단길기념품
- 교촌치킨 신메뉴
- cu 편의점
- CU 편의점 추천
- 서현역맛집
- 수원 맛집
- 분당 맛집
- 경주맛집
- 황리단길디저트
- 푸라닭
- 황리단길맛집
- 냉동만두 추천
- 순천디저트
- 편의점 신제품
- 마켓컬리 추천
- 서현역중식
- 동성로맛집
- 대구동성로맛집
- 편스토랑
- 서현 맛집
- 수지 술집
- 순천맛집
- 편의점 추천
- 분당맛집
- CU편의점 추천
- 오뚜기 라면
- BBQ 신메뉴
- CU편의점
- 치킨 신메뉴
Archives
- Today
- Total
일상 메모장
Shell script(쉘) if 조건문, 조건식 본문
안녕하세요.
오늘은 쉘 스크립트에서 if 문과 조건식 사용하는 방법을 포스팅할께요.
if 문 사용법
if 문 형식은 아래와 같습니다. (if 문 후에 나오는 '[' 사이에 스페이스바가 들어가야 합니다.)
if [ 값1 조건식 값2 ] ; then
실행문
fi
# 사용 예
VAL1=3
VAL2=4
if [ ${VAL1} -eq ${VAL2} ] ; then
echo "equal"
fi
변수의 값을 참조할때는 ${변수이름} 처럼 중괄호로 감싸주는 습관을 들이면 좋습니다.
$변수이름 으로 해도 위와같은 스크립트는 동작하지만 변수의 값을 참조하면서 뒤에 다른 문자열이
붙는 경우 오류가 날수 있습니다.
VAL=3
#잘못된 사용
echo "Value : $VALresult"
#올바른 사용
echo "Value : ${VAL}result"
조건문 종류
비교식
[ -z ${A} ] : A 문자열의 길이가 0이면 TRUE
[ -n ${A} ] : A 문자열의 길이가 0이 아니면 TRUE
[ ${A} -eq ${B} ] : A와 B값이 같으면 TRUE
[ ${A} -ne ${B} ] : A와 B값이 다르면 TRUE
[ ${A} -gt ${B} ] : A가 B보다 크면 TRUE
[ ${A} -ge ${B} ] : A가 B보다 크거나 같으면 TRUE
[ ${A} -lt ${B} ] : A가 B보다 작으면 TRUE
[ ${A} -le ${B} ] : A가 B보다 작거나 같으면 TRUE
[ 조건식A -a 조건식B ] : 조건식 A와 B가 모두 TRUE이면 TRUE (&& 와 동일)
[ 조건식A -o 조건식B ] : 조건식 A가 TRUE거나 조건식B가 TRUE면 TRUE (|| 와 동일)
파일관련
[ -d ${A} ] : A 파일이 디렉토리면 TRUE
[ -e ${A} ] : A 파일이(노드, 디렉토리, 소켓 등등 모두) 존재하면 TRUE
[ -L ${A} ] : A 파일이 심볼릭 링크면 TRUE
[ -r ${A} ] : A 파일이 읽기 가능하면 TRUE
[ -s ${A} ] : A 파일의 크기가 0 보다 크면 TRUE
[ -w ${A} ] : A 파일이 쓰기 가능하면 TRUE
[ -x ${A} ] : A 파일이 실행 가능하면 TRUE
[ -c ${A} ] : A 파일이 Special character file 이면 TRUE
[ -f ${A} ] : A 파일이 디렉토리가 아닌 일반 regular 파일이면 TRUE
[ -S ${A} ] : A 파일이 소켓이면 TRUE
[ ${A} -nt ${B} ] : A 파일 B 파일보다 최신파일이면 참
[ ${A} -ot ${B} ] : A 파일이 B 파일보다 이전파일이면 참
[ ${A} -ef ${B} ] : A 파일과 B 파일이 같은 파일이면 참
모두 아시겠지만 위의 조건문을 쉽게 외우려면 영어로 외우시면 편합니다. ^^;
-eq : EQual
-ne : NEgative
-gt : Greater Than
-ge : Greater than Equal
-lt : Less Than
-le : Less than Equal
-d : Directory
-e : Exist
-L : symbolic Link
-r : Readable
-w : Writeable
-x : eXecute
-nt : Newer Than
-ot : Older Than
-ef : Equal File
사용예
#!/bin/bash
FILENAME="/home/test/temp"
VALUE=10
if [ ${VALUE} -eq 10 ] ; then
echo "VALUE is 10!"
fi
# 아래 -a (&&) 조건문은 아래와 같이 변경 가능합니다.
# if [ ${VALUE} -gt 5 ] && [ ${VALUE} -lt 15 ] ; then
if [ ${VALUE} -gt 5 -a ${VALUE} -lt 15 ] ; then
echo "VALUE is greater than 5 and less than 15!"
fi
if [ -e ${FILENAME} ] ; then
echo "${FILENAME} exists"
fi
오늘은 여기까지 포스팅 할께요~ 읽어주셔서 감사합니다~!
'Linux & Windows' 카테고리의 다른 글
카카오 애드핏 심사 광고 보이지 않을경우 해결책 (6) | 2020.01.24 |
---|---|
Ubuntu SSH 서버 구축 (0) | 2020.01.21 |
iperf3 사용법 (서버 클라이언트 속도측정) (0) | 2020.01.14 |
무료 백신 순위 종류 (4) | 2020.01.06 |
윈도우즈 종료옵션 넣기. (블루투스 키보드 CMOS, BIOS 진입) (5) | 2020.01.05 |