쉘 스크립팅에서 if 문으로 프로그램 흐름 제어

지난 포스트에서는 쉘 스크립팅에서의 테스트에 대해 배웠습니다.




이 게시물에서는 스크립트의 흐름을 제어하기 위해 if 문과 함께 사용하는 방법을 살펴보겠습니다.

if 문은 무엇입니까?



If 문을 사용하면 스크립트에서 결정을 내릴 수 있습니다. 키워드if로 시작하여 테스트 표현식, then 명령 목록, 닫는 키워드fi로 이어집니다.

기본if 명령문은 테스트 표현식이 true인 경우 다음 명령을 수행한다고 말합니다.

통사론

if []
then
    command 1
    command 2
    .
    .
    command n
fi


주어진 숫자가 10보다 큰지 확인하는 예를 들어if 이해해 봅시다.

#!/bin/bash

VAR=20
if [ $VAR -gt 10 ]
then
    echo "Variable is greater than 10"
fi


산출:

> ./IfDemo.sh
Variable is greater than 10


여기서 우리가 무엇을 했는지 봅시다:
if [ $VAR -gt 10 ] : if 다음 테스트 조건$VAR -gt 10$VAR -gt 10 : var가 10보다 크면(-gt) true를 반환합니다.then : 조건이 참이면 다음 명령을 실행합니다.fi : if 문 끝

두 시나리오를 모두 기록하려는 경우(예: 숫자가 10보다 크고 숫자가 10보다 작은 경우)

If..else 문



If-else 문은 다음 형식을 따릅니다.

통사론

if []
then
    command 1
else 
    command 2
fi


If-else는 테스트가 참이면 명령 1을 실행하고 그렇지 않으면 명령 2를 실행하도록 지시합니다.

10보다 큰 숫자의 동일한 예를 확장하고 숫자가 아닌 경우 메시지를 인쇄해 봅시다.

#!/bin/bash

VAR=5
if [ $VAR -gt 10 ]
then
    echo "Variable is greater than 10"
else 
    echo "Variable is less than 10"
fi


산출:

> ./IfDemo.sh

Variable is less than 10


이제 첫 번째 테스트 조건이 실패하면 두 번째 테스트 조건을 확인하고 다르게 처리하려면 if-elif-else 래더를 사용합니다.

If..elif..else 문



숫자가 10보다 큰지 확인한 다음 'greater than'을 출력해 봅시다. 그렇지 않고 숫자가 10이면 '같음'을 인쇄하고 그렇지 않으면 '보다 작음'을 인쇄합니다.

#!/bin/bash

VAR=5
if [ $VAR -gt 10 ]
then
    echo "Variable is greater than 10"
elif [ $VAR -eq 10]
    echo "Variable is equals to 10"
else 
    echo "Variable is less than 10"
fi


산출:

> ./IfDemo.sh
Variable is equals to 10


if 문에는 더 많은 것이 있습니다. 몇 가지 시나리오를 나열하려면 다음을 수행하십시오.

1: 중첩된 if 문:

if [[ Test condition ]]
then
  if [[ Test condition ]]
  then
    command 1
  else
    command 2
  fi
fi


2: 다중 테스트 조건

if [[ Test condition ]] && [[ Test condition ]]
then
  command 1
elif [[ Test condition ]] || [[ Test condition ]]
then
  command 2
else
  command 3
fi


좋습니다. 지금 가서 이러한 시나리오를 시도해 보겠습니다. 시도해보고 질문이 있으면 알려주세요.

다음은 쉘 스크립팅의 루프입니다. 계속 지켜봐 주세요.

다음 시간까지. 사랑 ❤️

좋은 웹페이지 즐겨찾기