7. 쉘 프로그래밍에서도 if 조건문을 사용하세요.

안녕하세요. 언제나 휴일, 언휴예요.

쉘 프로그래밍에서도 제어문을 제공합니다. 쉘 프로그래밍에서도 조건에 따라 수행하는 조건문과 값에 따라 수행하는 선택문, 반복해서 수행하는 반복문을 제공합니다. 먼저 조건문을 살펴봅시다.

  • if..fi

쉘 프로그래밍에서 특정 조건이 참일 때 수행할 구문을 결정하고자 한다면 if 조건 표현을 사용하세요.

if [조건 표현]

then

수행구문

fi

다음은 입력한 수가 0보가 크거나 같을 때 메시지를 출력하는 예제입니다. 변수 num이 0보다 크거나 같은지 판별할 때 if [ $num -ge 0 ] 형태로 표현할 수 있습니다. 만약 조건 표현과 then을 같은 라인에 표현하고자 한다면 중간에 세미콜론(;)을 명시하세요.

#if_sh
#쉘 프로그래밍 실습
#조건문 (입력한 값이 0보다 크거나 같은지 판별)
#작성자 : eh. jang
echo num:
read num

if [ $num -ge 0 ] ; then
    echo “입력한 값은 0보다 크거나 같습니다.”
fi
echo “테스트 종료”
[그림 1] if 조건문
[그림 1] if 조건문
  • if ..else..fi

특정 조건이 참일 때 수행할 구문과 거짓일 때 수행할 구문이 있다면 if else 조건문을 사용하세요.

if [조건 표현]

then

참일 때 수행구문

else

거짓일 때 수행구문

fi

다음은 두 개의 정수를 입력 받아 큰 수를 출력하는 예제입니다.

#ifelse_sh
#쉘 프로그래밍 실습
#조건문 (입력받은 두 개의 값 중에 큰 값을 출력)
#작성자 : eh. jang
echo 첫 번째 수를 입력:
read a
echo 두 번째 수를 입력:
read b

if [ $a -ge $b ] ; then
    echo “첫 번째 입력한 값이 더 큽니다.”
else
    echo “첫 번째 입력한 값이 더 크지 않습니다.”
fi
echo “테스트 종료”
[그림 2] if else 조건문
[그림 2] if else 조건문
  • ..elif…

쉘 프로그래밍에서 특정 조건이 참일 때 수행할 구문을 표현한 후에 거짓 중에서 다시 특정 조건이 참인지 판별하고자 한다면 elif를 사용하세요.

if [조건 표현A]

then

A표현이 참일 때 수행구문

elif [조건 표현 B]

B표현이 참일 때 수행 구문

fi

물론 이 때도 elif의 조건 표현이 거짓일 때 수행할 필요가 있다면 else문을 사용할 수 있어요.

#cond_if_elif
#쉘 프로그래밍 실습
#조건문 (입력받은 값이 1이면 더하기, 2이면 빼기)
#작성자 : eh. jang
echo 첫 번째 수를 입력:
read num1
echo 두 번째 수를 입력:
read num2
echo 연산을 입력. 더하기는 1 빼기는 2:
read op

if [ $op -eq 1 ] ; then
    let re=$num1+$num2
    echo “Add:$re”
elif [ $op -eq 2 ]; then
    let re=$num1-$num2
    echo “Sub:$re”
else
    echo “연산 입력 실패”
fi
echo “테스트 종료”
[그림 3] if elif 조건문
[그림 3] if elif 조건문