スクリプトを書いていますが、bc
の結果を変数に渡したいと思います。 2つの変数(var1
およびvar2
)を宣言し、それらに値を指定しました。私のスクリプトでは、bc
の結果をvar3
などの別の変数に渡して、他の計算でvar3
を操作できるようにします。これまでのところ、私が探しているものではないファイルに結果を書き込むことができ、端末で結果をエコーすることもできましたが、結果を変数に渡したいだけですその変数で作業できます。
echo "scale=2;$var1/var2" | bc
Bashを使用している場合は、次のようにパイプではなくhere文字列を使用することをお勧めします。
bc <<< "scale=2;$var1/$var2"
これにより、サブシェルが節約されます。
次に、コマンドの出力を保存するには、コマンド置換を使用します。
answer=$(bc <<< "scale=2;$var1/$var2")
bc
よりもさらにクールなものが必要な場合は、ここにdc(逆ポーランド計算機)があります。
answer=$(dc <<< "2k $var1 $var2/p")
コマンド置換 は、コマンドの出力を変数に保存します。
var3=$(echo "scale=2;$var1/$var2" | bc)