시스템 소프트웨어 | 쉘 스크립트 조건문

Faithful Dev·2025년 1월 29일

컴퓨터 공학

목록 보기
60/81

연산자 (Operators)

쉘 스크립트에서 연산자는 크게 다음과 같이 분류할 수 있다.

산술 연산자 (Arithmetic Operators)

정수 계산을 수행할 때 사용한다. expr, (( )), [ ], let 등을 활용할 수 있다.

연산자설명
+덧셈
-뺄셈
*곱셈
/나눗셈 (정수 나눗셈)
%나머지 연산

참고

expr을 사용할 수도 있지만, $(( )) 또는 let을 사용하는 것이 더 간편하다.

a=5
b=3
echo %(expr $a + $b) # 8
echo $((a + b)) # 8
let result=a*b
echo $result # 15

비교 연산자 (Comparison Operators)

숫자와 문자열 비교에 사용된다. test 명령어([ ]) 또는 [[ ]]를 사용할 수 있다.

숫자 비교

연산자설명
-eq같음
-ne다름
-gt초과 (>)
lt미만 (<)
-ge이상 (>=)
-le이하 (<=)

문자열 비교

연산자설명
=문자열이 같음
!=문자열이 다름
<문자열이 사전순으로 앞섬
>문자열이 사전순으로 뒤섬
-z문자열이 비어 있음
-n문자열이 비어 있지 않음

참고: [ ] 내부에서 <, >를 사용할 때는 반드시 \를 붙여야 한다.


파일 연산자 (File Operators)

파일의 존재 여부 및 속성을 검사하는데 사용된다.
연산자|설명
-e|파일 또는 디렉터리가 존재하는지 확인
-f|일반 파일인지 확인
-d|디렉터리인지 확인
-s|파일 크기가 0보다 큰지 확인
-r|읽기 권한이 있는지 확인
-w|쓰기 권한이 있는지 확인
-x|실행 권한이 있는지 확인


논리 연산자 (Logical Operators)

논리적인 조건을 결합하는 데 사용된다.

연산자설명
&&AND (둘 다 참이어야 참)
¦¦OR (둘 중 하나만 참이어도 참)
!NOT (부정)

조건문 (Conditional Statements)

쉘 스크립트에서 조건문은 특정 조건을 평가하고 그에 따라 코드의 흐름을 결정하는 데 사용된다.

if문

기본적인 조건문 구조이다.

if [ 조건 ]; then
	실행할 명령어
elif [ 조건 ]; then
	실행할 명령어
else
	실행할 명령어
fi

예제: 숫자 비교

num=10
if [ "$num" -gt 5 ]; then
	echo "num은 5보다 큽니다."
elif [ "$num" -eq 5 ]; then
	echo "num은 5입니다."
else
	echo "num은 5보다 작습니다."
fi

case문

여러 경우를 처리할 때 유용하다.

case "$변수" in
	값1)
    	실행할 명령어 ;;
	값2)
    	실행할 명령어 ;;
	*)
    	기본적으로 실행할 명령어 ;;
esac

예제:

read -p "원하는 색을 입력하세요: " colour
case "$colour" in
	red) echo "빨강" ;;
    blue) echo "파랑" ;;
    green) echo "초록" ;;
    *) echo "알 수 없는 색입니다." ;;
esac

삼항 조건 (Ternary-like Expression)

Bash에는 삼항 연산자(? :)가 없지만, &&||를 사용하여 간단한 조건을 표현할 수 있다.

[ "$a" -gt 10 ] && echo "a는 10보다 큽니다." || echo "a는 10 이하입니다."

정리

연산자

  • 산술 연산 (+, -, *, /, %)
  • 비교 연산 (-eq, -ne, -gt, -lt, -ge, -le)
  • 문자열 비교 (=, !=, -z, -n)
  • 파일 연산 (-e, -f, -d, -r, -w, -x)
  • 논리 연산 (&&, ||, !)

조건문

  • if, elif, else
  • case
  • 삼항 조건(&&|| 활용)
profile
Turning Vision into Reality.

0개의 댓글