셸의 링크 && 및 ||

셸의 링크 && 및 ||

왜 예상대로 작동하지 않습니까?

$ false &&   { echo ok;  echo ok; } && { echo notOK; }

이것은 아니다:

$ false &&   { echo ok;  echo ok; } || { echo notOK; }

나 못 봤어!

답변1

&&작동 방식은 다음과 같습니다 ||.

&&왼쪽이 "참" 값(0)으로 끝나면 오른쪽이 실행됩니다.

||왼쪽이 "false" 값(!0)으로 끝나면 오른쪽이 실행됩니다.

false && { echo ok; echo ok } || { echo notOK; }

처리 방법은 다음과 같습니다.

  • false1을 반환
  • &&`{ echo ok; echo ok }' 왼쪽이 0이 아니기 때문에 실행되지 않습니다.
  • ||{ echo notOK; }왼쪽이 0이 아니기 때문에 실행됩니다 .

관련 정보