[Shell Script] 쉘 스크립트(Shell Script)에서 조건문 작성하기

업데이트(2019.09.08): 조건문 사용법 업데이트

Linux 기반 운영체제에서 스크립트를 사용할 때 조건문을 어떻게 사용하는지 알아보자.


환경 및 선수조건

  • Linux
  • Mac OS
  • Bash shell(/bin/bash)


스크립트에서 조건문 사용하기

기본 구조

#!/bin/bash

if [ 조건 ] # 조건 양 옆에 '['와 ']' 사이에 공백을 꼭 있어야합니다!
then
    명령어
elif [ 조건 ]
then
    명령어
else
    명령어
fi

# 또는

if (( 조건(arithmetic operation) )); then
	명령어
elif (( 조건(arithmetic operation) )); then
	명령어
else
	명령어
fi


예제

example.sh

#!/bin/bash

# test_num = 0 이렇게 입력하면 syntax 에러가 발생합니다 꼭 붙여서 써주세요.

# Numeric if statement
test_num=5

if [ "${test_num}" -eq 2 ]; then
	echo "number is 2"
elif [ "${test_num}" -eq 3 ]; then
	echo "number is 3"
else
	echo "number is not 2 or 3"
fi

# 위와 같은 비교문이지만 (())를 사용하면
# <, >와 같은 산술 연산자를 사용할 수 있습니다.

# Numeric if statement
test_num=5

if (( ${test_num} > 3 )); then
	echo "number is greater than 3"
else
	echo "number is not greater than 3"
fi

# String if statement
test_str="test"

if [ "${test_str}" = "test" ]; then
	echo "test_str is test"
else
	echo "test_str is not test"
fi
$ ./example.sh
number is not 2 or 3
number is greater than 3
test_str is test


참고자료