bash 스크립팅의 If-else 문은 다른 프로그래밍 언어와 유사합니다. 프로그램이 결정을 내리는 방법입니다.
if-else
에서 문장에서 문장 블록의 실행은 if
의 결과에 따라 결정됩니다. 상태.
Bash If-Else 문 구문
if-else
구문 bash의 문은 다음과 같습니다.
if [condition]
then
//if block code
else
// else block code
fi
조건이 true
로 평가되는 경우 , if
블록 코드가 실행되고 조건이 false
로 평가되면 그런 다음 else
블록 코드가 실행됩니다.
else 문과 else 코드 블록은 선택 사항입니다.
if
를 끝내야 합니다. fi
가 있는 문 키워드.
조건부 비교
조건부 구성에서 사용하는 표현식은 true
로 평가되어야 합니다. 또는 false
. 표현식은 단일 문자열 또는 변수일 수 있습니다.
- 미만 - 표시:
$a -lt $b
또는$a < $b
- 보다 큼 - 표시:
$a -gt $b
또는$a > $b
- 작거나 같음 - 표시:
$a -le $b
또는$a <= $b
- 크거나 같음 - 표시:
$a -ge $b
또는$a >= $b
- 같음 - 다음으로 표시됨:
$a -eq $b
또는$a == $b
- 같지 않음 - 다음으로 표시됨:
$a -ne $b
또는$a != $b
논리 연산자
if
내의 표현식 문은 여러 비교의 논리적 조합일 수도 있습니다.
논리 연산자는 다음과 같습니다.
- 논리적이고 -
$a AND $b
로 표시 또는$a && $b
true
로 평가 두 변수 또는 명령문이 모두 참인 경우. - 논리적 또는 -
$a OR $b
로 표시 또는$a || $b
true
로 평가 변수 또는 명령문 중 하나가 참일 때.
예:
#!/bin/bash
first_name="John"
last_name="Doe"
if [[ $first_name = "John" && $last_name = "Doe" ]]
then
echo 'hello John Doe'
fi
Bash if 예제
if
statement는 단순한 조건문일 뿐입니다. if[]
내의 조건인 경우 true
로 평가 다음 if
코드 블록이 실행됩니다.
예:
#!/bin/bash
read -p "Enter a number: " mynumber
if [ $mynumber -gt 10 ]
then
echo "The number you entered is greater than 10"
fi
참고:위의 예에서 10보다 작은 숫자를 입력하면 아무 것도 인쇄되지 않습니다. 배시 if-else 예제
if
의 결과가 조건이 false
입니다. 그런 다음 else
의 코드 블록이 있는 경우 실행됩니다.
예:
#!/bin/bash
read -p "Enter a number: " mynumber
if [ $mynumber -gt 10 ]
then
echo "The number you entered is greater than 10"
else
echo "The number you entered is less than 10"
fi
배시 if-elif-else 예제
elif
(else if)는 if
가 여러 개인 경우에 사용됩니다. 조건.
예:
#!/bin/bash
read -p "Enter your exam grade: " grade
if [ $grade -ge 80 ]
then
echo "You got A"
elif [ $grade -ge 70 ]
then
echo "You got B"
elif [ $grade -ge 60 ]
then
echo "You got C"
else
echo "Fail"
fi
Bash 중첩된 경우 예제
중첩된 if
를 가질 수도 있습니다. 진술.
예:
#!/bin/bash
read -p "Enter value of a :" a
read -p "Enter value of b :" b
read -p "Enter value of c :" c
if [ $a -gt $b ]
then
if [ $a -gt $c ]
then
echo "a is greatest"
else
echo "c is greatest"
fi
else
if [ $b -gt $c ]
then
echo "b is greatest"
else
echo "c is greatest"
fi
fi