쉘 스크립트 if 문 사용 방법

처리를 하다 보면 조건에 따라 처리를 다르게 하고 싶은 경우가 있습니다.

쉘 스크립트에서도 if문을 사용해 조건식을 지정할 수 있습니다.

if문 기본 사용방법은 아래와 같습니다.

if(20세 이상일 경우)  
  성년입니다.
else //20세 이상이 아닐 경우
  미성년입니다.
fi

 

if 뒤에 조건식을 작성합니다.

else는 if문에 해당하지 않는 조건일 경우에 실행을 하게 됩니다.

fi는 if문의 종료를 의미합니다.

 

if 문 사용법

쉘 스크립트 내에서 if문을 어떻게 사용하는지 알아보겠습니다.

먼저 조건이 하나일 경우에 사용하는 방법입니다.

if [ 조건1 ]; then
  처리1
fi

 

조건1에 값이 만족하는 경우에 처리1을 실행하게 됩니다.

만약 조건1에 만족하지 않는 경우에는 처리1을 실행하지 않습니다.

조건1에 만족하지 않는 경우 다른 처리를 하고 싶은 경우 else를 사용합니다.

if [ 조건1 ]; then
  처리1
else
  처리2
fi

 

조건1에 만족하는 경우에는 처리1을 만족하지 않는 경우에는 처리2를 실행합니다.

조건을 여러 개 작성하고 싶은 경우에는 elif를 사용해 조건식을 늘릴 수 있습니다.

if [ 조건1 ]; then
  처리1
elif [ 조건2 ]; then
  처리2
else
  처리3
fi

 

샘플을 만들어 확인해보겠습니다.

#!/bin/sh

num=10

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

 

if 조건식에는 비교 연산자를 사용해 값을 비교할 수 있습니다.

비교 연산자의미비교 연산자의미
-eq같음<이중 소괄호에서, 더 작음
-ne같지 않음<=이중 소괄호에서, 작거나 같음
-gt더 큼>이중 소괄호에서, 더 큼
-ge크거나 같음>=이중 소괄호에서, 크거나 같음
-lt더 작음==, =문자열 비교, 같음
-le더 작거나 같음!=문자열 비교, 같지 않음
-z문자열이 null인가-a논리 and
-n문자열이 null이 아님-o논리 or

 

다른 프로그래밍 언어에서도 마찬가지이지만 쉘 스크립트에서도 if 문은 상당히 중요합니다.

조건식을 사용방법을 알고 있으면 더욱더 많은 처리를 응용해 사용할 수 있기 때문입니다.

여러 조건을 넣어 보면서 사용해보면 금세 익힐 수 있습니다.

댓글