プログラミングではbash
、常に次のような長い方法で条件変数を定義します。
dog=1
if [[ $dog -eq 1 ]] ; then
cow=1
else
cow=0
fi
これは明らかに非常に非効率的です。私はMATLAB
次のことができます
cow=(dog==1)
つまり、5行ではなく1行です。 Bashでも同様の方法がありますか?どんなアドバイスもありがとうございます。
ベストアンサー1
純粋な整数ベースの割り当てには、expr ? expr : expr
条件付き演算子を使用できます。
dog=1
cow=$((dog ? 1 : 0))
これは牛と犬の整数値に対してのみ機能し、0/0以外の値のみをテストします(ここでは犬)。
dog=2
cow=$((dog ? 42 : 7))