&& 및 [중복]을 사용하여 여러 명령을 실행하는 것의 차이점

&& 및 [중복]을 사용하여 여러 명령을 실행하는 것의 차이점

&&여러 명령을 사용하는 것과 실행하는 것의 차이점은 무엇입니까 ;?

예:

echo "Hi\!" && echo "How are you?"

그리고

echo "Hi\!"; echo "How are you?"

답변1

셸에서 &&;명령을 종료하는 데 사용할 수 있다는 점에서 유사합니다. 차이점은 &&조건부 연산자이기도 하다는 것입니다. With ;다음에 오는 명령은 항상 실행되지만, &&With 다음에 나오는 명령은 첫 번째 명령이 성공한 경우에만 실행됩니다.

false; echo "yes"   # prints "yes"
true; echo "yes"    # prints "yes"
false && echo "yes" # does not echo
true && echo "yes"  # prints "yes"

;개행 문자는 종료 명령과 상호 교환 가능합니다.

답변2

&&||부울 연산자입니다 . &&는 논리적 AND 연산자이며 bash는지름길 평가, 따라서 두 번째 명령은 전체 식이 참일 가능성이 있는 경우에만 실행됩니다. 첫 번째 명령이 false로 간주되면(0이 아닌 종료 코드로 반환) 전체 AND 표현식이 true가 되지 않으므로 두 번째 명령을 평가할 필요가 없습니다.

동일한 논리가 논리적 OR(||)에도 유사하게 적용됩니다. 첫 번째 명령이 성공하면 전체 OR 표현식이 true가 되므로 두 번째 명령을 평가할 필요가 없습니다.

관련 정보