왜 예상대로 작동하지 않습니까?
$ 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; }
처리 방법은 다음과 같습니다.
false
1을 반환&&
`{ echo ok; echo ok }' 왼쪽이 0이 아니기 때문에 실행되지 않습니다.||
{ echo notOK; }
왼쪽이 0이 아니기 때문에 실행됩니다 .