[Bash] If/Else 조건문(Condition) 사용 방법

목적: 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

결과

그림 1: Bash 파일 실행 결과 이미지

설명

  • 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 인 경우

출처

  1. https://wiki.kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/comparison-ops.html
  2. https://m.blog.naver.com/PostView.nhn?blogId=cjh226&logNo=220997193796&proxyReferer=https%3A%2F%2Fwww.google.com%2F

Leave a Comment