私はいつもこのように整数を計算します。
a=12
b=23
c=$((a-b))
echo $c
しかし今、浮動小数点では失敗します。 bcを使ってこれを行うことができるという内容を読んだが、結果を最後に変数に割り当てたいと思います。
a=12.7
b=23.33
c=$((a-b)) | bc
echo $c
答え1
c=$( printf '%s - %s\n' "$a" "$b" | bc )
または怠惰な人のために、
c=$( echo "$a - $b" | bc )
または怠惰なbash
ユーザーの場合、
c=$( bc <<<"$a - $b" )
コードの問題は次のとおりです。
c=$((a-b)) | bc
不可能。出力を生成する項目のみ(有用に)パイプすることができ、1)またはこの浮動小数点数(構文エラーを含む)の場合、割り当てはc=$((a-b))
失敗し、2)出力は生成されません。また、(nothing)の出力はまったく割り当ての一部ではないため、割り当てられません。$a
$b
bc
c