나는 "테스트"를 위해 매뉴얼 페이지를 사용하고 있습니다. 나는 다음 두 줄을 제외한 모든 것을 이해합니다. 누군가 이것을 실제로 사용하는 방법에 대한 예를 줄 수 있습니까? 지금까지 나는 1차원 테스트(즉, 내 테스트에서는 x = y와 같은 것)를 사용해 왔기 때문에 비교 표현식이 내 머릿속에 있습니다. 많은 의미가 있습니다. 누군가 나에게 예제나 사용 사례를 보여주면 이해할 수 있을 것 같습니다.
EXPRESSION1 -a EXPRESSION2
both EXPRESSION1 and EXPRESSION2 are true
EXPRESSION1 -o EXPRESSION2
either EXPRESSION1 or EXPRESSION2 is true
답변1
-a
-o
두 표현식을 연결 하면즉독립적으로 사용할 수 있는 완전한 표현입니다 test
. 그러므로
test "$x" = foo -o "$x" = bar
성공하면
test "$x" = foo
또는
test "$x" = bar
성공할 것이다,즉 "$x"
예 foo
또는 bar
.
모호할 수도 있으니-a
그리고 -o
더 이상 사용되지 않습니다, 그리고 쉘의 연산자를 사용해야 합니다:
test "$x" = foo || test "$x" = bar
더 일반적으로 다음과 같이 작성됩니다.
[ "$x" = foo ] || [ "$x" = bar ]
바라보다POSIX sh 조건에서 논리적 OR 평가의 예상치 못한 결과-o
혼란스럽게 사용된 예입니다.