&&
여러 명령을 사용하는 것과 실행하는 것의 차이점은 무엇입니까 ;
?
예:
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가 되므로 두 번째 명령을 평가할 필요가 없습니다.