![음의 동등성](https://linux55.com/image/87449/%EC%9D%8C%EC%9D%98%20%EB%8F%99%EB%93%B1%EC%84%B1.png)
나는 다음과 같은 운동을 합니다.
if-then-else-fi를 사용하고 값이 "true" 및 "false"인 일련의 인수 -a 및 -b를 허용하는 동시에 각 쌍 -a < =>에 대한 표현식의 부정을 작성하는 스크립트를 작성합니다. 비,
예:
-a -b writes
true true false
true false true
false true true
false false false
예를 들어:
./script -a false -b false -a true -b true
썼다:
true
false
제 질문은 스크립트에서 매개변수를 허용하도록 하려면 어떻게 해야 합니까?
입력하는 데 어려움을 겪고 있습니다. 다른 모든 것은 괜찮을 것입니다.
답변1
if [ $( $2 or 0 ) xor $( $4 or 0 ) ]; then echo true; else echo false; fi
설명하다:
논리 테이블을 XOR 연산으로 기반으로 하므로 $2
and를 사용하지만 $4
(두 번째와 네 번째 매개변수에는 이 작업을 수행하는 데 필요한 데이터가 포함되어 있습니다) 물론 이는 -a
누군가가 and 로 전환하는 경우를 고려하지 않습니다 -b
.