条件に基づいてブール演算を実行する方法に関する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