Bash 'if else' 문: 자습서 및 예제

조건부 코드 실행을 위해 Bash에서 if…else 문을 사용합니다.

Bash(Bourne Again Shell)는 GNU/Linux 운영 체제의 셸 명령 프롬프트 및 스크립팅 언어입니다. 대부분의 Linux 배포판의 기본 셸입니다.

조건문은 스크립팅된 것은 물론 컴파일된 모든 프로그래밍 언어에서 중요합니다. 이를 통해 사용자는 프로그래밍 논리의 기초 중 하나인 미리 정의된 조건에 따라 코드를 실행할 수 있습니다. 이 기사에서는 사용 방법에 대해 알아볼 것입니다. 다른 경우라면 Bash의 조건문.

소개

그만큼 다른 경우라면 Bash의 문을 사용하면 사용자가 조건에 따라 코드 흐름을 조작할 수 있습니다. 사용자는 실행할 별도의 코드 블록을 지정할 수 있으며, 그 중 하나만 충족되는 해당 조건에 따라 런타임 중에 최종적으로 실행됩니다.

두 개 이상의 조건을 지정할 수 있습니다. 엘리프 문을 사용할 수 있습니다. 사용자는 다음을 사용하여 여러 조건을 지정할 수 있습니다. 엘리프, 그리고 마지막으로 다음을 사용하는 기본 조건 또 다른 블록. 아래의 구문과 예제에서 이에 대해 더 살펴보겠습니다.

일반 구문

에 대한 일반 구문 다른 경우라면 Bash의 문은 다음과 같습니다.

그렇다면  또 다른  파이

여기서 만약 즉, 0(성공)을 반환하면 코드 블록 1이 실행됩니다. 조건이 0을 반환하지 않는 경우, 즉 실패 상태를 반환하면 코드 블록 2가 실행됩니다. 그만큼 다른 경우라면 블록은 다음으로 끝납니다. 파이 성명.

여러 조건에 해당하는 여러 블록의 경우,엘리프 사용:

그렇다면  그럼 엘리프  그럼 엘리프  ... ... 또 다른  파이

여기서 조건을 순서대로 확인하고 상태 0(성공)을 반환하는 첫 번째 조건의 코드 블록을 실행합니다. 예. 만약 0이 아닌 상태(실패)를 반환한 다음 확인됩니다. 만약에 상태 0을 반환합니다. 실행됩니다. 그 후에는 추가 조건이 확인되지 않고 코드 실행이 다음 코드 이후에 계속됩니다. 파이 성명.

상태 0을 반환하는 조건이 없으면 else 블록에서 실행됩니다. else 블록은 선택 사항입니다. 조건이 충족되지 않는 경우와 마찬가지로 또 다른 블록이 지정되면 조건부 코드 블록이 실행되지 않으며 코드 실행은 파이 아래 순서도에 표시된 대로 문.

참고로 그 다음에 문은 뒤에만 사용해야 합니다. 만약 그리고 엘리프 명령문 및 이후에는 필요하지 않음 또 다른 성명.

코드 블록을 실행하려면 변수에 특정 값이 있는 경우:

x=0 if [ $x -eq 0 ] then echo "X의 값은 0입니다." else echo "X의 값은 0이 아닙니다." fi

여러 값을 확인하려면:

x=2 if [ $x -eq 0 ] then echo "X의 값은 0입니다." elif [ $x -eq 1 ] then echo "X의 값은 1입니다." elif [ $x -eq 2 ] then echo "값의 X는 2" else echo "X의 값은 0이 아닙니다" fi

조건은 모든 Linux 명령이 될 수 있습니다. 명령이 성공적으로 실행되면 해당 코드 블록이 실행됩니다.

if npm -v then echo "시스템에 있는 NPM" else sudo apt install npm fi

위의 예에서 이후 npm 시스템에 설치되지 않은 명령 npm -v 0이 아닌 상태를 반환했습니다. 따라서 코드 실행은 또 다른 블록, 사용하여 npm을 설치하는 곳 적절한 패키지 관리자. 보시다시피 비밀번호를 입력하라는 메시지가 표시되고 npm 설치가 시작되었습니다.

우리는 또한 다른 둥지를 틀 수 있습니다 다른 경우라면 내부에 차단 만약, 또 다른 또는 엘리프 블록:

x=0 y=1 if [ $x -eq 0 ] then echo "X는 0" if [ $y -eq 1 ] then echo "Y는 1" else echo "Y는 1이 아닙니다" fi else echo "X는 0"이 아닙니다.

이것은 초기 조건이 만족되면 별도의 조건 세트를 확인해야 할 때 유용합니다.

예를 들어 다음 코드는 웹 서버 소프트웨어를 설치하려고 합니다.

if nginx -v then echo "NGINX가 이미 설치되어 있습니다." 그렇지 않으면 sudo apt install nginx then echo "NGINX 설치 성공." elif sudo apt install apache2 then echo "APACHE2 설치 성공." else echo "웹 소프트웨어를 설치할 수 없습니다." 파이

코드는 먼저 Nginx가 시스템에 이미 설치되어 있는지 확인합니다. 그렇다면 메시지를 표시하고 종료합니다. 그렇지 않은 경우 Nginx 설치를 시도합니다.

어떤 이유로 패키지에서 시스템에 Nginx를 설치할 수 없으면 Apache2 설치를 시도합니다. Apache2에서도 설치 중 오류가 발생하면 소프트웨어를 설치할 수 없다는 메시지를 표시하면서 종료됩니다.

비슷한 방식으로 내포된 블록을 내부에서 사용할 수 있습니다. 엘리프 블록도.

실행 중 다른 경우라면: 스크립트 및 명령줄

모든 Bash 코드와 유사하게, 다른 경우라면 문은 Bash 셸에서 직접 또는 실행 가능한 셸 스크립트 파일에서 사용할 수 있습니다. Bash 인터프리터가 다음을 찾으면 만약, 또 다른 또는 엘리프 명령문에서 사용자가 코드 블록을 입력할 수 있도록 셸을 계속합니다.

사용자는 이 코드를 스크립트 파일에 저장하고 스크립트 파일을 실행할 수도 있습니다.

그만큼 #!/bin/bash 시작 시 파일이 실행될 때 사용할 인터프리터를 지정합니다. Bash는 오늘날 가장 일반적으로 사용되는 셸이지만 일부 사용자는 zsh와 같은 셸을 선호합니다. 이 셸은 이 파일의 시작 부분에서 bash 대신 지정해야 합니다.

이 파일에 대한 실행 권한을 부여하려면 다음을 실행하십시오.

chmod +x test.sh

마지막으로 파일을 실행하려면 다음을 실행하십시오.

./test.sh

결론

모든 프로그래밍 언어와 마찬가지로, 다른 경우라면 문은 Bash의 기본 기능입니다. 사용법을 배우면 기본 스크립트와 고급 스크립트를 작성하는 데 많은 도움이 됩니다.