BASH에서 부울 연산(외부 조건)을 수행하는 방법

BASH에서 부울 연산(외부 조건)을 수행하는 방법

조건에 따라 부울 연산을 수행하는 방법에 대한 20개의 질문/답변이 있습니다.

if [ 4 -gt 3 ] && [ 3 -gt 2 ]; then echo "True"; else echo "False"; fi

그러나 부울 연산을 독립적으로 수행하는 방법은 무엇입니까?

다음 코드와 동일한 것을 찾고 있습니다.

bool a=true, b=false, c=true;
bool r1 = a && b;
bool r2 = a && (b || c);

Bash에서는 다음과 같아야 합니다:

a=1;b=0;c=1
r1=`expr a && b`
r2=`expr a && ( b || c )`

답변1

$(( ))구성 사용

man bash"산술 평가"를 참조하십시오 .

쉘은 특정 상황에서 산술 표현식의 평가를 허용합니다(let 및 선언 내장 명령, (( 복합 명령 및 산술 확장 참조)).

r1=$((a && b))
r2=$((a && ( b || c )))
echo $1
0
echo $2
1

노트

  • 이는 &비트 단위이고 while은 &&논리적입니다.

  • 0그리고 ≠0전통적/수학적으로 되돌아가세요.0/거짓그리고≠0/참값(Unix 반환 코드와 다름)

     b=$(( 7 & 5 ))
     echo $b
     5
     l=$(( 7 && 5 ))
     echo $l
     1
    

관련 정보