반응형
Bash 스크립트에서 if
문은 조건을 평가하고 그 결과에 따라 특정 코드를 실행하는 데 사용됩니다. Bash의 if
문은 조건식과 함께 사용하며, 다양한 비교 연산자를 지원합니다.
기본 구조
if [ 조건식 ]; then
# 조건식이 참일 때 실행
elif [ 다른 조건식 ]; then
# 위 조건이 거짓이고, 이 조건이 참일 때 실행
else
# 모든 조건이 거짓일 때 실행
fi
예제
1. 숫자 비교
#!/bin/bash
num=10
if [ $num -eq 10 ]; then
echo "숫자는 10입니다."
elif [ $num -lt 10 ]; then
echo "숫자는 10보다 작습니다."
else
echo "숫자는 10보다 큽니다."
fi
비교 연산자:
-eq
: 두 값이 같으면 참-ne
: 두 값이 다르면 참-lt
: 왼쪽 값이 오른쪽 값보다 작으면 참-le
: 왼쪽 값이 오른쪽 값보다 작거나 같으면 참-gt
: 왼쪽 값이 오른쪽 값보다 크면 참-ge
: 왼쪽 값이 오른쪽 값보다 크거나 같으면 참
2. 문자열 비교
#!/bin/bash
str="hello"
if [ "$str" = "hello" ]; then
echo "문자열이 hello입니다."
elif [ "$str" != "hello" ]; then
echo "문자열이 hello가 아닙니다."
fi
문자열 비교 연산자:
=
: 두 문자열이 같으면 참!=
: 두 문자열이 다르면 참-z
: 문자열이 비어 있으면 참-n
: 문자열이 비어 있지 않으면 참
3. 파일 조건
#!/bin/bash
file="example.txt"
if [ -e "$file" ]; then
echo "파일이 존재합니다."
else
echo "파일이 존재하지 않습니다."
fi
파일 관련 연산자:
-e
: 파일이 존재하면 참-f
: 일반 파일이면 참-d
: 디렉토리이면 참-r
: 파일이 읽기 가능하면 참-w
: 파일이 쓰기 가능하면 참-x
: 파일이 실행 가능하면 참
4. 논리 연산자
#!/bin/bash
num=15
if [ $num -gt 10 ] && [ $num -lt 20 ]; then
echo "숫자는 10보다 크고 20보다 작습니다."
fi
논리 연산자:
&&
: 논리 AND (모두 참이면 참)||
: 논리 OR (하나라도 참이면 참)
5. 중첩 if문
#!/bin/bash
num=10
if [ $num -gt 5 ]; then
if [ $num -lt 15 ]; then
echo "숫자는 5보다 크고 15보다 작습니다."
fi
fi
Tips
- 조건식 괄호
[ 조건식 ]
: 표준 POSIX 테스트 명령.[[ 조건식 ]]
: Bash 고유의 확장된 조건식 (권장).- 문자열 비교 시 이스케이프가 필요 없고 더 안전함.
- 논리 연산자를 자연스럽게 사용할 수 있음.
- 조건식 내부의 변수
- 변수를 사용할 때는 항상
"
로 감싸는 것이 좋음.
- 변수를 사용할 때는 항상
if [ "$var" = "value" ]; then
echo "변수가 value와 같습니다."
fi
- 실행 권한
- 스크립트를 실행하기 전에 실행 권한을 추가해야 합니다.
chmod +x script.sh
./script.sh
위 내용을 활용하면 Bash에서 다양한 조건과 함께 if
문을 사용할 수 있습니다!
반응형
'언어 > Bash' 카테고리의 다른 글
[ Bash ] 파일 존재 확인 후 처리하기 (0) | 2025.01.16 |
---|---|
[ Bash ] 특정 문자열 반복 검색하기 (0) | 2024.12.31 |
[ Bash ] shell 스크립트에서 입력 값 받기 (0) | 2024.12.31 |
[ Bash ] LS_COLORS - shell에서 폴더의 글자 색상 변경하기 (0) | 2024.11.01 |
[ Bash ] history 명령어를 확장해서 사용하기 (0) | 2024.06.30 |