`if...elif` 문의 올바른 구문

`if...elif` 문의 올바른 구문

다음 if진술을 가정하여 빠른 질문

if dis'n'dat ; then
    some command here
else
    if dat'n'dis
        some other command
    fi
fi

elif를 사용하여 다음과 같이 변경할 수 있나요?

if dis'n'dat ; then
    some command
elif dat'n'dis ; then
    some other command
fi

프로그래밍이 처음임에도 불구하고 if-else-fi나는 이러한 설명을 이해하지만 내가 이해할 수 있는 방식으로 elif를 설명하는 답변을 찾지 못했습니다.

답변1

관용어는 elif구문과 구조가 매우 유사합니다 case.

주로: 일치하는 사례 중 하나만 선택합니다.

이것:

if   test1; then
     code for test1 being true.
elif test2; then
     code for test2 being true.
elif test3; then
     code for test3 being true.
else
     code for all tests above being false.
fi

발생 항목 중 하나만 일치합니다 test.

Case와의 차이점은 Case 문에서는 일부 패턴이 테스트되는 반면, elif문에서는 여러 가지 다른 테스트가 사용될 수 있다는 것입니다.

답변2

예, elif를 사용하여 다시 작성하는 것은 "if"가 중첩된 원래 코드 블록을 사용하는 것과 같습니다.

Elif는 "else" 안에 새로운 "if"를 중첩할 필요가 없도록 정확하게 존재합니다. 아마도 이것이 "elif"라고 불리는 이유일 것입니다. 이는 else와 if의 조합입니다.

관련 정보