Computer >> 컴퓨터 >  >> 체계 >> Linux

Bash 스크립트에서 IF 문을 작성하는 방법

만약 조건문의 일종인 statement를 사용하면 지정된 조건에 따라 다른 작업을 수행할 수 있습니다. 이는 시스템에 결정을 내릴 수 있는 능력을 효과적으로 제공합니다.

Bash 스크립트에서 IF 문을 작성하는 방법

다음은 if 의 가장 간단한 형태의 예입니다. 성명:

count=5
if [ $count == 5 ]
then
echo "$count"
fi

이 예에서 변수 count if 의 일부로 사용되는 조건을 지정합니다. 성명. 만약 앞에 문이 실행되면 변수 count 5 값이 할당됩니다. . 만약 그런 다음 문은 count 값이 5입니다. . 이 경우 키워드 then 사이의 문장은 및 fi 실행됩니다. 그렇지 않으면 if 뒤에 오는 모든 문장 문이 실행됩니다.

키워드 fi 경우 거꾸로 철자. bash 스크립팅 언어는 이 규칙을 사용하여 if 와 같은 복잡한 표현식의 끝을 표시합니다. 진술 또는 케이스 성명서.

에코 문은 인수를 인쇄합니다. 이 경우 count 변수 값 , 터미널 창으로 이동합니다. if 키워드 사이의 코드 들여쓰기 문은 가독성을 향상시키지만 꼭 필요한 것은 아닙니다.

Bash 스크립트에서 IF 문을 작성하는 방법

조건이 true가 아닌 경우에만 코드를 실행해야 하는 상황이 있는 경우 else 키워드를 사용하세요. 만약 다음 예에서와 같이 문:

count=5
if [ $count == 5 ]
then
echo "$count"
else
echo "count is not 5"
fi

조건 $count ==5인 경우 true이면 시스템은 count 변수의 값을 인쇄합니다. . 그렇지 않으면 count is not 5 문자열을 출력합니다. .

Bash 스크립트에서 IF 문을 작성하는 방법

여러 조건을 구분하려면 elif 키워드를 사용하세요. , else if에서 파생됨 , 이 예에서와 같이:

if [ $count == 5 ]
then
echo "count is five"
elif [ $count == 6 ]
then
echo "count is six"
else
echo "none of the above"
fi

카운트인 경우 5입니다. , 시스템은 count is 5를 인쇄합니다. . 카운트하는 경우 5가 아닙니다. 하지만 6 , 시스템은 count is 6을 인쇄합니다. . 5가 아닌 경우 6도 아님 , 시스템은 위 항목 중 어느 것도 인쇄하지 않음을 인쇄합니다. .

elif는 원하는 수만큼 가질 수 있습니다. 조항. 다중 elif의 예 조건:

if [ $count == 5 ]
then
echo "count is five"
elif [ $count == 6 ]
then
echo "count is six"
elif [ $count == 7 ]
then
echo "count is seven"
elif [ $count == 8 ]
then
echo "count is eight"
elif [ $count == 9 ]
then
echo "count is nine"
else
echo "none of the above"
fi
Bash 스크립트에서 IF 문을 작성하는 방법

여러 조건으로 이러한 명령문을 작성하는 보다 간결한 방법은 case 메서드입니다. if 와 유사하게 작동합니다. 여러 elif가 있는 문 그러나 더 간결합니다. 예를 들어 위의 코드는 대소문자 로 다시 작성할 수 있습니다. 다음과 같은 진술:

case "$count" in
5)
echo "count is five"
;;
6)
echo "count is six"
;;
7)
echo "count is seven"
;;
8)
echo "count is eight"
;;
9)
echo "count is nine"
;;
*)
echo "none of the above"
esac
Bash 스크립트에서 IF 문을 작성하는 방법

만약 문은 다음 예와 같이 for 루프 또는 while 루프 내부에서 자주 사용됩니다.

count=1
done=0
while [ $count -le 9 ]
do
sleep 1
(( count++ ))
if [ $count == 5 ]
then
continue
fi
echo "$count"
done
echo Finished

You can also have nested if statements. The simplest nested if statement is of the form: if...then...else...if...then...fi...fi. However, an if statement can be nested with arbitrary complexity.

See also how to pass arguments to a bash script, which shows how to use conditionals to process parameters passed from the command line.

The bash shell provides other programming constructs, such as for-loops, while-loops, and arithmetic expressions.