음의 동등성

음의 동등성

나는 다음과 같은 운동을 합니다.

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 연산으로 기반으로 하므로 $2and를 사용하지만 $4(두 번째와 네 번째 매개변수에는 이 작업을 수행하는 데 필요한 데이터가 포함되어 있습니다) 물론 이는 -a누군가가 and 로 전환하는 경우를 고려하지 않습니다 -b.

관련 정보