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
    

関連情報