728x90
Shell 스크립트 if 조건문
기본 구문(if 문법)
if [ condition ]
then
# code to execute if condition is true
fi
if - else 문법
if [ condition ]
then
# code to execute if condition is true
else
# code to execute if condition is false
fi
if - elif - else 문법
if [ condition1 ]
then
# code to execute if condition1 is true
elif [ condition2 ]
then
# code to execute if condition2 is true
else
# code to execute if both conditions are false
fi
활용 예제
#!/bin/bash
a=10
b=20
if [ $a = 10 ] && [ $b = 20 ]
then
echo "a is 10 and b is 20"
fi
$ bash example.sh
a is 10 and b is 20
#!/bin/bash
a=10
b=20
if ! [ $a = $b ]
then
echo "a is not equal to b"
else
echo "a is equal to b"
fi
$ bash example.sh
a is not equal to b
#!/bin/bash
a=10
b=20
if [ $a = $b ]
then
echo "a is equal to b"
elif [ $a -lt $b ]
then
echo "a is less than b"
else
echo "a is not equal to b"
fi
$ bash example.sh
a is less than b
숫자 비교
#!/bin/bash
num=10
if [ $num -gt 5 ]
then
echo "Number is greater than 5"
else
echo "Number is 5 or less"
fi
문자열 비교
#!/bin/bash
str="hello"
if [ "$str" = "hello" ]
then
echo "String matches 'hello'"
else
echo "String does not match 'hello'"
fi
파일 존재 여부 확인
#!/bin/bash
file="/path/to/file"
if [ -e "$file" ]
then
echo "File exists"
else
echo "File does not exist"
fi
비교 연산자
- 숫자 비교
- -eq : 같음
- -ne : 같지 않음
- -lt : 작음
- -le : 작거나 같음
- -gt : 큼
- -ge : 크거나 같음
- 문자열 비교
- = : 같음
- != : 같지 않음
- -z : 문자열이 비어 있음
- -n : 문자열이 비어 있지 않음
- 파일 비교
- -e : 파일이 존재함
- -f: 파일이 일반 파일임
- -d : 파일이 디렉터리임
- -r : 파일이 읽기 가능함
- -w : 파일이 쓰기 가능함
- -x: 파일이 실행 가능함
예제 스크립트
여러 조건 검사
#!/bin/bash
num=10
file="/path/to/file"
str="hello"
if [ $num -gt 5 ]
then
echo "Number is greater than 5"
elif [ -e "$file" ]
then
echo "File exists"
elif [ "$str" = "hello" ]
then
echo "String matches 'hello'"
else
echo "No condition met"
fi
복잡한 조건 검사
#!/bin/bash
num=10
file="/path/to/file"
if [ $num -gt 5 ] && [ -e "$file" ]
then
echo "Number is greater than 5 and file exists"
else
echo "Either number is 5 or less, or file does not exist"
fi
for 문과 if 문 결합
#!/bin/bash
for i in {1..10}
do
if [ $((i % 2)) -eq 0 ]
then
echo "$i is even"
else
echo "$i is odd"
fi
done
참고URL
- Bash Shell - 조건문(if-else) : https://codechacha.com/ko/shell-script-if-else/
728x90
'리눅스' 카테고리의 다른 글
[draft] 리눅스에서 일반 사용자가 1024 이하의 포트를 사용할 수 있도록 설정하는 방법 (0) | 2022.11.14 |
---|---|
[리눅스] OpenLDAP 설치 및 구성 (0) | 2022.11.14 |
[draft] Shell 스크립트 for 반복문 (0) | 2022.11.14 |
[draft] 우분투에 OpenSSL을 최신 버전으로 업그레이드하는 방법 (0) | 2022.11.07 |
Ansible을 위한 기본 Bash 완성을 설치하는 방법 (0) | 2022.11.07 |