else 블록(참조:https://stackoverflow.com/a/15328027/1942997), 이렇게 하면 어떤 영향이 있는지, 아니면 단지 스타일의 문제인지 궁금합니다.
샘플 코드 1:
if [ condition ]; then
echo "Not nested, condition 1 true"
if [ other_condition ]; then
echo "Nested, condition 2 true"
else
echo "Nested, condition 2 false"
fi
fi
예제 코드 2(마지막 fi 누락 참고):
if [ condition ]; then
echo "Not nested, condition 1 true"
if [ other_condition ]; then
echo "Nested, condition 2 true"
else
echo "Nested, condition 2 false"
fi
나는 다른 언어에서 중괄호를 사용하여 각 if 블록을 닫는 데 익숙하기 때문에 bash 스크립트에서 이 동작을 유지하는 것이 합리적이라고 생각됩니다. 제가 생각할 수 있는 유일한 영향은 가독성을 높이기 위해 스크립트 파일 크기를 약간 늘리는 것입니다.
답변1
내부를 닫지 않으면 bash로 표시했습니다 if
.
SO Q에서 인용하면 다음과 같습니다.
if
fi
Bash에서는 if 블록의 끝을 표시하는 동반 항목으로 각각을 구분 해야 하는 경우가 없습니다 .
이는 두 가지 방식으로 이해될 수 있습니다.
잘못된 방법:
Bash에는 "각 요소 는 if 블록의 끝을 표시하는 동반 요소로 구분되어야
if
합니다 ." 와 같은 것이 없습니다.fi
올바른 방법:
bash에는 if 블록의 끝을 표시하는 동반자로 각각을 분리
if
해야 하기 때문에 [dangling else ambiguity] 같은 것이 없습니다 .fi