조건에 따라 부울 연산을 수행하는 방법에 대한 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