Linux

bc:使用帶有 bash 變數的“比例”

  • November 16, 2014

很容易,我正在編寫一個腳本,它需要一些浮點後有 2 位數字的值。嘗試使用bc我不明白如何使用“規模”,即

A=12 ; bc <<< $(($A/5))

這是正確的,但添加“比例”會導致錯誤:

A=12 ; bc <<< 'scale=2;$(($A/5))'

(standard_in) 1: illegal character: $
(standard_in) 1: illegal character: $

用雙引號替換單引號;因為在您的等式中使用單引號$A不會擴展,而是認為字面上$A沒有12

A=12 ; bc <<< "scale=2;$(($A/5))"
2

此外,內部 $(()) 到變數不需要指定為$A,就可以了A,例如

A=12 ; bc <<< "scale=2;$((A/5))"
2

接下來,在執行 $(()) 時,您會呼叫 subshel​​l,這不是您想要做的,因為bc那時什麼都不做。試試這個

A=12 ; bc <<< "scale=2; $A/5"
2.40

嘗試:

A=12;echo 'scale=2;'"$A / 5"|bc -l

引用自:https://serverfault.com/questions/644651