Bash 스크립트에 IF 문을 쓰는 법

명령, 구문 및 예

조건문의 일종 인 if 문을 사용하면 지정된 조건에 따라 다른 작업을 수행 할 수 있습니다. 이는 시스템에 효과적으로 의사 결정 능력을 부여합니다.

가장 단순한 형태의 if 문은 다음과 같습니다.

count = 5이면 [$ count == 5] echo "$ count"fi

이 예에서 변수 "count"는 if 문에 사용되는 조건을 지정하는 데 사용됩니다. if 문이 실행되기 전에 변수 "count"에 값 "5"가 할당됩니다. 그런 다음 if 문은 "count"값이 "5"인지 여부를 확인합니다. 이 경우 키워드 "then"과 "fi"사이의 명령문이 실행되고, 그렇지 않으면 if 문 다음의 명령문이 실행됩니다. 키워드 "fi"는 "if"를 철자로 한 것입니다. bash 스크립팅 언어는이 규약을 사용하여 if 문이나 case 문과 같은 복잡한 표현식의 끝을 표시합니다.

"echo"문은 변수 "count"의 값을 터미널 창에 출력합니다. if 문을 키워드 사이에 들여 쓰기하면 가독성이 향상되지만 반드시 필요한 것은 아닙니다.

조건이 참이 아닌 경우에만 코드를 실행해야하는 상황이 발생하면 다음 예와 같이 if 문에 "else"키워드를 사용할 수 있습니다.

count = 5이면 [$ count == 5] echo "$ count"else echo "count is not 5"fi

"$ count == 5"조건이 참이면 시스템은 변수 "count"의 값을 인쇄하고, 그렇지 않으면 문자열 "count is not 5"를 인쇄합니다.

여러 조건을 구별하려면이 예에서와 같이 "else if"에서 파생 된 키워드 "elif"를 사용할 수 있습니다.

[$ count == 5] then echo "count is 5"elif [$ count == 6] then "count is six"에코 "no 위의"fi

"count"가 "5"이면 시스템은 "count is five"를 인쇄합니다. "count"가 "5"가 아니라 "6"이면 시스템은 "count is six"를 인쇄합니다. "5"또는 "6"이 아닌 경우, 시스템은 "위에 해당 없음"을 인쇄합니다.

짐작할 수 있듯이 "elif"절을 여러 개 가질 수 있습니다. 여러 "elif"조건이있는 예는 다음과 같습니다.

[$ count == 5] then echo "count is 5"elif [$ count == 6] then "count is six"elif [$ count == 7] 그런 다음 echo "count is seven"elif [$ count = = 8] then echo "count is eight"elif [$ count == 9] 그런 다음 echo "count is nine"else echo "no of the above"fi

여러 조건으로 이러한 명령문을 작성하는보다 간단한 방법 이이 방법입니다. 여러 개의 "elif"절이있는 if 문과 유사하지만보다 간결합니다. 예를 들어, 위 코드는 다음과 같이 "case"문으로 다시 작성할 수 있습니다.

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 "위에 해당하지 않음"esac

If 문은 for 루프 또는 while 루프에서 자주 사용됩니다.

count = 1 done = 0 [$ count -le 9]가 sleep 할 때 1 ((count ++)) [$ count == 5] then continue fi echo "$ count"done 완료 됨

if 문을 중첩 할 수도 있습니다. 가장 단순한 중첩 된 if 문은 다음과 같은 형식입니다. if ... then ... else ... if ... then ... fi ... fi. 그러나 if 문은 임의의 복잡성으로 중첩 될 수 있습니다.

명령 행에서 전달 된 매개 변수를 처리하기 위해 조건을 사용하는 방법을 보여주는 bash 스크립트에 인수를 전달하는 방법을 참조하십시오.

bash 쉘은 for-loops , while-loop산술 표현식 과 같은 다른 프로그래밍 구조를 제공합니다.