とにかく変数をbcに渡して実行するコマンドはありますか?

とにかく変数をbcに渡して実行するコマンドはありますか?

bc浮動小数点出力を取得するには、特定の変数を渡す必要があります。

var1=$((<some operation>))
var2=$((<some operation>))      #Needs var1
var3=$((<some operation>))      #Needs var2
bc -l <<< $var3                 #Need output in Floating points

出力:

(standard_in) 1: illegal character: $

とにかくこれを克服する方法はありますか?

修正する:

diff=$(($epoc2-$epoc1))
var1=$(($diff / 60))
var2=$(($var1 / 57))
var3=`bc <<< 'scale=2; $var2'`

ベストアンサー1

$一重引用符は変数を拡張しません。二重引用符を使用する必要があります。

var3=`bc <<< "scale=2; $var2"`

$var1一方、浮動小数点は$var2保存されていないので(bash管理されていない)代わりにbcそうします。

diff=$(($epoc2-$epoc1))
var1=$(bc <<< "scale=3 ; $diff / 60")
var2=$(bc <<< "scale=3 ; $var1 / 57")
var3=$(bc <<< "scale=2; $var2")

おすすめ記事