if else 문은 && 및 ||를 한 줄에 사용합니다.

if else 문은 && 및 ||를 한 줄에 사용합니다.

이 두 가지 방법이 동일한지 알고 싶습니다.

첫 번째:

#!/bin/bash
if [ -x $FILE ]
then
  echo "You have execution permission to a "$FILE""
else
  echo "You don't have execution permission to a "$FILE""
fi

두번째:

#!/bin/bash
[ -x $FILE ] && echo "You have execution permission to a "$FILE"" || echo "You don't have execution permission to a "$FILE""

답변1

이러한 구조는 일반적으로 동일하지 않지만 이 경우에는 동일합니다. 그 이유는 echo종료 코드가 항상 0이기 때문입니다. 0보다 큰 코드로 종료할 수 있는 명령인 경우 "다른 분기"도 실행됩니다. if이 경우에는 불가능합니다 .

관련 정보