하루에 하나씩 배우는 컴퓨터 사이언스 개념: 쉘스크립트 조건문 이해
하루에 하나씩 배우는 컴퓨터 사이언스 개념 시리즈에서 오늘은 '쉘 스크립트의 조건문 이해'에 대해 알아보겠습니다. 쉘 스크립트에서 조건문을 이해하고 활용하는 것은 다양한 상황에 따라 서로 다른 동작을 수행하는 로직을 구현하는 데 중요합니다. 이번 글에서는 쉘 스크립트의 주요 제어 구조인 '조건문'에 대해 자세히 설명합니다.
1. 쉘 스크립트의 조건문 소개
조건문이란 특정 조건이 참(true)인지 거짓(false)인지를 검사하여 그 결과에 따라 서로 다른 동작을 수행하는 제어 구조입니다. 프로그래밍 언어마다 문법은 다르지만, 기본적으로 모든 언어가 지원하는 중요한 요소입니다.
쉘 스크립트에서 가장 기본적인 형태의 조건문은 if-then-else-fi 구조입니다:
// bash
if [ condition ]
then
# commands to be executed if condition is true
else
# commands to be executed if condition is false
fi
위 코드에서 condition 부분에 원하는 조건을 입력하면 됩니다. 만약 condition이 참(true)이면 then과 else 사이의 명령어들이 실행되고, 거짓(false)일 경우 else와 fi 사이의 명령어들이 실행됩니다.
2. 쉘 스크립트 조건 표현식
쉘이 해석할 수 있는 여러 가지 종류의 테스트나 비교를 사용하여 실제로 여러 가지 유용한 작업을 수행할 수 있습니다:
- 숫자 비교: -eq(equal), -ne(not equal), -gt(greater than), -ge(greater than or equal), -lt(less than), -le(less than or equal)
- 문자열 비교: = (equal), != (not equal)
- 파일 테스트: -e (file exists), -d (directory exists)
예를 들어, 두 변수가 같은 값을 갖는지 확인하려면 다음과 같은 코드를 작성할 수 있습니다:
// bash
if [ "$VAR1" = "$VAR2" ]
then
echo "Variables are equal."
else
echo "Variables are not equal."
fi
3. 실습 예제
다음은 간단한 쉘 스크립트 예제입니다:
// bash
#!/bin/bash
echo "Enter a number:"
read num
if [ $num -gt 10 ]
then
echo "The number is greater than 10."
elif [ $num -eq 10 ]
then
echo "The number is equal to 10."
else
echo "The number is less than 10."
fi
위 코드는 사용자로부터 숫자를 입력받아, 해당 숫자가 10보다 큰지, 같은지 아니면 작은지를 판단하여 출력합니다.
4. 결론
오늘 배운 내용으로 쉘 스크립트 내에서 간단한 분기 처리가 가능해졌습니다. 조건문을 활용하면 다양한 상황에 대응하는 로직을 구현할 수 있으므로, 쉘 스크립트를 작성할 때 매우 중요한 개념입니다.
하지만 실제 프로그래밍 환경에서는 더 복잡한 로직 처리가 필요할 때가 많습니다. 그래서 우리는 앞으로도 계속해서 더욱 고급적인 제어 구조와 문법들을 배워나가야 합니다.