목적: if/else Condition(조건문)을 사용하는 방법 정리
환경: Ubuntu 18.04
코드
#!/bin/bash
val=10
while true; do
echo "Val: $val"
if [ $val -gt 5 ]; then
echo "Val is larger than 5"
elif [ $val -eq 0 ]; then
echo "Val is zero, Terminate"
break
elif [ $val -le 5 ]; then
echo "Val is less than equal to 5"
else
echo "Should not enter here"
fi
val=$(expr $val - 1)
sleep 1
done
결과

설명
- while true, if [ … ], 다음에 있는 “;”은 줄 바꿈을 하지 않고 사용하기 위해서 사용함. “do”, “then”을 줄바꿈해서 사용하는 경우 “;”를 제거해도 됨
- if, elif, else 순서로 작성을 해야 함. if, elif 다음에는 “then”을 추가 후 코드를 작성해야 함
- Condition(조건문)은 [ ] 안에 작성해야 하며 “[“와 “]” 사이에 Space(공간)이 있어야 함
- “(expr $val – 1)”은 $val에 저장된 값에 -1 연산을 수행하기 위해서 사용됨
정수 비교
-eq | 수가 같은 경우 |
-ne | 수가 다른 경우 |
-qt | 수가 큰 경우 |
-lt | 수가 적은 경우 |
-qe | 수가 크거나 같은 경우 |
-le | 수가 적거나 같은 경우 |
문자열 비교
== | 문자열이 같은 경우 |
!= | 문자열이 같지 않은 경우 |
-n | “문자열” 길이가 0 보다 큰 경우 |
-z | “문자열” 길이가 0 인 경우 |
출처
- https://wiki.kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/comparison-ops.html
- https://m.blog.naver.com/PostView.nhn?blogId=cjh226&logNo=220997193796&proxyReferer=https%3A%2F%2Fwww.google.com%2F