Bash는 &&가 항상 우선하도록 논리 연산자를 평가합니다. 예를 들면 다음과 같습니다.
false || echo 1 && echo 2
1
2
그리고
true || echo 1 && echo 2
2
좋아요. 출력이 다음과 같기를 원한다고 가정해 보겠습니다.
false || (echo 1 && echo 2)
그러나 서브쉘을 호출하지 않고.
제가 생각할 수 있는 유일한 해결책은 다음과 같습니다.
false || if true; then echo 1; echo 2; fi
1
2
하위 쉘을 호출하지 않고도 명령을 그룹화하는 C의 괄호와 유사한 더 깔끔한 방법이 있습니까?
답변1
false || { echo 1 && echo 2; }