Bash 스크립트의 다중 if 조건

Muhammad Husnain 2023년1월30일
  1. 배시 프로그래밍 소개
  2. Bash 스크립트 작성
  3. Bash 스크립트의 조건문
Bash 스크립트의 다중 if 조건

이 프로그래밍 자습서에서는 bash의 조건부 구조, 특히 단일 및 다중 조건이 있는 if 조건에 대해 설명합니다.

배시 프로그래밍 소개

Bash는 UNIX 및 Linux 운영 체제의 간단한 명령줄 인터프리터입니다. 이 인터프리터를 사용하면 명령줄을 사용하여 일부 명령을 실행할 수 있으며 이러한 명령은 스크립트라는 파일에 입력하여 집합적으로 실행할 수 있습니다.

셸 스크립트는 bash에서 개별적으로 실행하거나 스크립트 파일에 작성할 수 있는 bash 명령 모음에 불과하며 나중에 해당 스크립트 파일을 bash에서 실행할 수 있습니다. 두 경우 모두 결과는 동일하게 유지됩니다.

Bash는 개발자에게 중요한 도구이며 일반적으로 자주 실행해야 하는 반복적인 작업을 자동화하는 데 사용됩니다. Bash 프로그래밍은 배우기 쉽고 bash 명령에 대한 기본적인 지식만 있으면 됩니다.

Bash 스크립트 작성

Bash 스크립트는 확장자가 .script인 파일에 작성됩니다. Linux는 확장이 없는 운영 체제이지만 bash 스크립트에 이 확장을 사용하는 것이 좋은 프로그래밍 규칙입니다.

다음 명령의 기능은 새 파일을 만드는 것입니다.

vim myscript.sh

이 명령이 실행되면 myscript.sh라는 이름의 파일이 생성되고 vim 편집기에서 열립니다. 아래는 모든 bash 스크립트의 첫 번째 줄입니다.

#!/bin/bash

이 줄은 운영 체제에 bash 인터프리터의 위치를 ​​알려주기 위해 작성된 shebang으로 알려져 있습니다. 이 줄 다음에 bash 스크립트의 실제 코드가 시작됩니다.

Bash 스크립트의 조건문

Bash 스크립트에서 다음과 같은 여러 유형의 조건문을 사용할 수 있습니다.

  • if
  • if .. then.. else
  • if .. elif
  • 중첩 if
  • case 문장

단일 및 다중 조건이 있는 if 문에 대해 논의할 것입니다. if문으로 이동하기 전에 if문에서 일반적으로 사용되는 몇 가지 조건부 연산자를 살펴보겠습니다.

연산자 기호 설명
-eq 두 숫자가 같으면 true를 반환합니다.
-lt 숫자가 다른 숫자보다 작으면 true를 반환합니다.
-gt 숫자가 다른 숫자보다 크면 true를 반환합니다.
== 두 문자열이 같으면 true를 반환합니다.
!= 두 문자열이 같지 않으면 true를 반환합니다.
! 사용된 표현을 부정합니다.

하나의 조건으로 if 문 사용

통사론:

if [ condition-statement ];
    then
        Commands..
fi

if 조건을 사용하는 예제 bash 스크립트를 살펴보겠습니다.

스크립트:

#!/bin/bash
echo "Enter your marks out of 100: "
read marks
if [ $marks -gt 100 ]; then
printf "You have entered incorrect marks: $marks\n "
fi

출력:

조건이 하나인 if 문 사용

여러 조건이 있는 if 문 사용

이전 예에서는 단일 조건을 사용했습니다. 여러 조건을 적용하고 논리 연산자 AND 또는 OR 연산자를 사용하여 조건을 구분할 수도 있습니다.

아래의 예를 살펴보자.

스크립트:

#!/bin/bash
echo "Enter your marks out of 100: "
read marks
if [[ $marks -gt 100 && $marks -lt 0 ]]; then
printf "You have entered incorrect marks: $marks\n "
fi

출력:

여러 조건이 있는 if 문 사용

Muhammad Husnain avatar Muhammad Husnain avatar

Husnain is a professional Software Engineer and a researcher who loves to learn, build, write, and teach. Having worked various jobs in the IT industry, he especially enjoys finding ways to express complex ideas in simple ways through his content. In his free time, Husnain unwinds by thinking about tech fiction to solve problems around him.

LinkedIn

관련 문장 - Bash Condition