6. 조건문

조건문은 어떤 일을 수행하는가 혹은 하지 않는가의 문제를 표현하기 위한 방법이다.

6.1. 요점만 말하자면

조건문은 다양한 형식으로 표현할 수 있지만 가장 대중적으로 사용하는 것은 다음과 같은 형식이다.

if expression then statement

'statement'는 'expression'에 해당하는 조건이 충족되었을 때만 실행된다. C언어 책 사서 첫 장만 보고 손 안댄 분이라 할지라도 구경해 보셨을 만한 형식이다.

조건문의 형식 중에는 다음과 같은 것도 있다.

if expression then statement1 else statement2.

이것 역시 많이들 보신 형태이겠지만, 'expression'에 해당하는 조건이 충족되면 'statement1'이 실행되고, 그렇지 않으면 'statement2'가 실행되는 방식이다.

앞서 말한 것 보다 조금 더 진화된 형태를 살펴보자면 다음과 같다. if expression1 then statement1 else if expression2 then statement2 else statement3. 이 방식에서도 'expression1'을 충족하면 'statement1'이 실행된다는 점에서는 앞서 살펴본 예와 같다. 그러나 'expression1'이 충족되지 않을 경우에는 'expression2'라는 새로운 조건이 나타난다. 만일 이렇게 'expression2'와 비교하여 조건을 충족하면 statement2'가 실행되지만 그렇지 않을 경우에는 'statement3'이 실행된다. 이 과정은 'else if'라는 녀석을 이용하는데, 'else if'를 얼마든지 추가하여 다양한 분기를 만들 수 있다.

간단한 문법 형식을 보도록 하자.

bash에서 if를 사용할 때에는 다음과 같은 형식으로 작성한다.

if [expression];

then

('expression'이 참일때 실행할 코드 )

fi

6.2. 예제 : 단순한 if - then 조건문

 
#!/bin/bash 
if [ "foo" = "foo" ]; then 
echo expression evaluated as true 
fi 

이 코드는 if 뒤에 나온 조건이 참일때 'expression evaluated as true' 라는 문장을 출력하는 내용이다. 보면 알겠지만 조건 뒤에는 'then'이라고 적혀있고, 조건이 참일때 실행할 내용을 적은 뒤에는 'fi'라고 적어 조건문이 끝났음을 알려준다.

6.3. 예제 : 단순한 if-then-else 조건문

 
#!/bin/bash 
if [ "foo" = "foo" ]; then 
echo expression evaluated as true 
else 
echo expression evaluated as false 
fi 

6.4. 예제 : 변수를 사용하여

 
#!/bin/bash 
T1="foo" 
T2="bar" 
if [ "$T1" = "$T2" ]; then 
echo expression evaluated as true 
else 
echo expression evaluated as false 
fi