웹사이트 검색

쉘 스크립트에서 if-else를 사용하는 방법?


쉘 스크립트의 배열에 대한 이전 자습서에서 계속 진행하여 쉘 스크립트에서 if-else를 사용하는 방법을 이해해 봅시다.

조건부 프로그래밍은 우리 프로그램의 모든 단일 명령문을 실행하는 것이 바람직하지 않은 경우가 많기 때문에 모든 프로그래밍 언어의 중요한 부분입니다.

그리고 조건부로 명령문을 실행하는 방법이 필요합니다. 쉘 스크립트의 if-else는 이 정확한 상황을 제공합니다.

쉘 스크립트의 조건

조건부 프로그래밍의 가장 중요한 부분 중 하나는 if-else 문입니다. if-else 문을 사용하면 코드에서 반복적인 조건문을 실행할 수 있습니다.

쉘 스크립트에서 if-else를 사용하여 조건을 평가한 다음 결과를 사용하여 둘 이상의 명령문 세트 사이에서 하나의 세트를 실행하기로 결정합니다.

이를 통해 기본적으로 조건식이 평가되는 결과에 대한 응답을 선택할 수 있습니다.

쉘 스크립트의 if-else는 어떻게 작동합니까?

이제 우리는 if-else 함수가 무엇이며 도메인에 관계없이 모든 프로그래머에게 중요한 이유를 알고 있습니다. 쉘 스크립트에서 if-else를 이해하려면 조건부 함수의 작동을 분해해야 합니다.

if-else 조건 블록의 구문을 살펴보겠습니다.

if [condition]
then
   statement1
else
   statement2
fi

여기에 if, then, elsefi의 네 가지 키워드가 있습니다.

  1. 키워드 if 뒤에 조건이 옵니다.
  2. 조건은 프로세서에 의해 실행될 명령문을 결정하기 위해 평가됩니다.
  3. 조건이 TRUE로 평가되면 프로세서는 then 키워드가 뒤따르는 명령문을 실행합니다. 구문에서는 statement1으로 언급됩니다.
  4. 조건이 FALSE로 평가되는 경우 프로세서는 키워드 else가 뒤따르는 명령문을 실행합니다. 이는 함수 구문에서 statement2로 표시됩니다.

명심해야 할 중요한 사항은 C 프로그래밍과 마찬가지로 쉘 스크립팅은 대소문자를 구분한다는 것입니다. 따라서 코드에서 키워드를 사용하는 동안 주의해야 합니다.

쉘 스크립트에서 if-else를 사용하는 방법

함수의 구문을 보고 사용 방법을 안다고 생각하기 쉽습니다. 그러나 함수의 다양한 측면이 수행하는 역할을 이해하는 데 도움이 되므로 예제를 통해 함수를 이해하는 것이 항상 더 나은 선택입니다.

다음은 이 도구를 사용하는 방법에 대한 더 나은 아이디어를 제공하는 셸 스크립트의 if-else에 대한 몇 가지 유용한 예입니다.

Command Description
&& Logical AND
$0 Argument 0 i.e. the command that’s used to run the script
$1 First argument (change number to access further arguments)
-eq Equality check
-ne Inequality check
-lt Less Than
-le Less Than or Equal
-gt Greater Than
-ge Greater Than or Equal

1. if-else를 사용하여 두 숫자가 같은지 확인

쉘 스크립트에서 if-else와 같은 함수의 작동을 이해하려고 할 때 간단한 작업부터 시작하는 것이 좋습니다. 여기에서 두 변수 a와 b를 초기화한 다음 if-else 함수를 사용하여 두 변수가 같은지 확인합니다. 이 작업에 대한 bash 스크립트는 다음과 같아야 합니다.

#!/bin/bash
m=1
n=2

if [ $n -eq $m ]
then
        echo "Both variables are the same"
else
        echo "Both variables are different"
fi

산출:

Both variables are different

2. if-else를 사용하여 두 값 비교

쉘 스크립트에서 if-else의 보다 일반적인 사용은 두 값을 비교하는 것입니다. 변수를 다른 변수 또는 고정 값과 비교하는 것은 모든 종류의 프로그래머가 다양한 경우에 사용합니다.

이 예제를 위해 두 변수를 초기화하고 if-else 함수를 사용하여 다른 변수보다 큰 변수를 찾습니다.

#!/bin/bash
a=2
b=7
if [ $a -ge $b ]
then
  echo "The variable 'a' is greater than the variable 'b'."
else
  echo "The variable 'b' is greater than the variable 'a'."
fi

산출:

The variable 'b' is greater than the variable 'a'.

3. if-else를 사용하여 숫자가 짝수인지 확인

때때로 우리는 짝수와 홀수를 구별하고 구별해야 하는 상황에 직면하게 됩니다. 이것은 모듈러스 연산자의 도움을 받으면 쉘 스크립트에서 if-else로 수행할 수 있습니다.

모듈러스 연산자는 숫자를 제수로 나누고 나머지를 반환합니다.

모든 짝수는 2의 배수라는 것을 알고 있으므로 다음 쉘 스크립트를 사용하여 숫자가 짝수인지 홀수인지 확인할 수 있습니다.

#!/bin/bash
n=10
if [ $((n%2))==0 ]
then
  echo "The number is even."
else
  echo "The number is odd."
fi

산출:

The number is even

보시다시피 조건의 일부를 이중 괄호로 묶었습니다. 조건을 확인하기 전에 모듈러스 연산을 수행해야 하기 때문입니다.

또한 이중 괄호로 묶으면 C 스타일의 명령문을 실행하여 bash 스크립트 내에서 일부 C 스타일 명령을 처리할 수 있습니다.

4. 간단한 암호 프롬프트로 if-else 사용

if-else 함수는 다재다능함과 적용 범위로 유명합니다. 이 예에서는 셸 스크립트에서 if-else를 사용하여 암호 프롬프트에 대한 인터페이스를 만듭니다.

이를 위해 사용자에게 암호를 입력하고 변수 pass.에 저장하도록 요청합니다.

미리 정의된 비밀번호(이 예에서는 'password')와 일치하는 경우 사용자는 -"비밀번호가 정확합니다.\라는 출력을 받게 됩니다.

그렇지 않으면 셸 스크립트는 사용자에게 암호가 잘못되었음을 알리고 다시 시도하도록 요청합니다.

#!/bin/bash
echo "Enter password"
read pass
if [ $pass="password" ]
then
  echo "The password is correct."
else
  echo "The password is incorrect, try again."
fi

결론

쉘 스크립트의 if-else 기능은 쉘 프로그래머에게 중요한 자산입니다. 미리 정의된 조건에 따라 일련의 명령문을 실행해야 할 때 사용하기에 가장 좋은 도구입니다.

if-else 블록은 조건부 프로그래밍의 가장 필수적인 부분은 아니지만 하나입니다. 특정 명령문의 실행을 규제함으로써 코드를 보다 효율적으로 만들 수 있을 뿐만 아니라 프로세서가 특정 경우에 불필요한 명령문을 실행하는 데 낭비할 수 있는 귀중한 시간을 절약할 수 있습니다.

이 튜토리얼이 if-else 함수를 사용하는 방법을 이해하는 데 도움이 되었기를 바랍니다. 질문, 피드백 또는 제안 사항이 있는 경우 아래 의견을 통해 언제든지 문의해 주십시오.