Shell if else 문장의 구체적인 사용 방법
만약 당신이 C언어, 자바, 자바스크립트 등 다른 프로그래밍 언어에 익숙해졌다면, 셸에 있는ifelse문장이 좀 이상하다고 느낄 수도 있습니다.
if 문장
가장 간단한 용법은 다음과 같은 문법 형식의 if 문장만 사용하는 것이다.
if condition
then
statement(s)
fi
condition은 판단 조건입니다. 만약condition이 성립되면 ("진짜"로 되돌아오기) 다음 뒤에 있는 문장이 실행됩니다.만약 조건이 성립되지 않으면 (가짜로 돌아가기) 어떤 문장도 실행하지 않습니다.본질적으로 말하자면, if는 명령의 퇴출 상태를 검출하는데, 우리는 다음 절에서깊이 있게 설명하다.
주의, 마지막에fi로 닫아야 합니다.fi는if를 거꾸로 맞춤법입니다.바로 파이가 있어서 끝낼 필요가 없기 때문에 여러 문장이 있어도 {}로 둘러싸지 않아도 된다.
만약 당신이 좋아한다면, then과if를 한 줄에 쓸 수도 있습니다.
if condition; then
statement(s)
fi
condition 뒤의 번호를 주의하십시오.if와then이 같은 줄에 있을 때, 이 번호는 반드시 필요합니다. 그렇지 않으면 문법 오류가 발생할 수 있습니다.인스턴스 1
다음 예제에서는 if 문장을 사용하여 두 숫자의 크기를 비교합니다.
#!/bin/bash
read a
read b
if (( $a == $b ))
then
echo "a b "
fi
실행 결과:84L
84L
a와 b는 같다
에서한 절에서 우리는 ()) 는 수학 계산 명령으로 가장 기본적인 가감 곱셈 연산을 할 수 있을 뿐만 아니라, 크고, 작고, 같은 관계 연산, 그리고, 또는, 비논리 연산도 할 수 있다고 말했다.a와 b가 같을 때 (($a==$b)) 판단 조건이 성립되고if에 들어가서then 뒤의 echo 문장을 실행합니다.
인스턴스 2
판단 조건에서도 다음과 같은 논리적 연산자를 사용할 수 있습니다.
#!/bin/bash
read age
read iq
if (( $age > 18 && $iq < 60 ))
then
echo " , !"
echo " C (http://c.biancheng.net/) , 。"
fi
실행 결과:20L
56L
& & & 바로 논리적'과'연산자이다. & & 양측의 판단 조건이'진'일 때만 전체 판단 조건이'진'일 수 있다.
다른 프로그래밍 언어에 익숙한 독자들은 then 뒤에 여러 개의 문장이 있어도 {}로 둘러싸일 필요가 없습니다. 왜냐하면fi가 끝나기 때문입니다.
if else 문장
만약 두 개의 지점이 있다면, 다음 형식의 if else 문장을 사용할 수 있습니다.
if condition
then
statement1
else
statement2
fi
condition이 성립되면, then 뒤의statement1 문장이 실행됩니다.그렇지 않으면else 뒤의statement2 문장을 실행합니다.예:
#!/bin/bash
read a
read b
if (( $a == $b ))
then
echo "a b "
else
echo "a b , "
fi
실행 결과:10L
20L
a와 b가 같지 않습니다. 입력 오류입니다.
운행 결과에서 알 수 있듯이 a와 b는 같지 않고 판단 조건이 성립되지 않기 때문에else 뒤의 문장을 집행했다.
if elif else 문장
Shell은 여러 브랜치를 지원하며 브랜치가 많을 때 다음과 같은 형식의 if elif else 구조를 사용할 수 있습니다.
if condition1
then
statement1
elif condition2
then
statement2
elif condition3
then
statement3
……
else
statementn
fi
주의,if와elif 뒤에 then을 따라야 합니다.전체 문장의 실행 논리는 다음과 같습니다.
#!/bin/bash
read age
if (( $age <= 2 )); then
echo " "
elif (( $age >= 3 && $age <= 8 )); then
echo " "
elif (( $age >= 9 && $age <= 17 )); then
echo " "
elif (( $age >= 18 && $age <=25 )); then
echo " "
elif (( $age >= 26 && $age <= 40 )); then
echo " "
elif (( $age >= 41 && $age <= 60 )); then
echo " "
else
echo " "
fi
실행 결과 1:십구
성년
실행 결과 2:
백
노년
다시 한 번 예를 들어 정수를 입력하고 해당 정수에 대응하는 요일의 영문 표시를 출력합니다.
#!/bin/bash
printf "Input integer number: "
read num
if ((num==1)); then
echo "Monday"
elif ((num==2)); then
echo "Tuesday"
elif ((num==3)); then
echo "Wednesday"
elif ((num==4)); then
echo "Thursday"
elif ((num==5)); then
echo "Friday"
elif ((num==6)); then
echo "Saturday"
elif ((num==7)); then
echo "Sunday"
else
echo "error"
fi
실행 결과 1:Input integer number: 4
Thursday
실행 결과 2:
Input integer number: 9
error
Shell if else 문장의 구체적인 사용 방법에 대한 자세한 설명은 여기 있습니다. 더 많은 Shell if else 문장 내용은 저희 이전의 문장을 검색하거나 아래의 관련 문장을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Shell alias 명령에 별칭을 설정하는 방법명령에 별명을 설정하면 명령의'작은 이름'으로 삼을 수 있지만, 이렇게 하는 것이 무슨 의미가 있습니까? 이때 별명이 작용할 수 있다.vim 명령의 별명을vi라고 정의하면 이후에 실행된vi 명령은 실제로vim 명령을...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.