简单来说,我正在编写一个脚本,需要一些浮点后有 2 位数字的值。尝试使用时,bc
我不明白如何使用“scale”,即
A=12 ; bc <<< $(($A/5))
这是正确的,但添加“scale”会导致错误:
A=12 ; bc <<< 'scale=2;$(($A/5))'
(standard_in) 1: illegal character: $
(standard_in) 1: illegal character: $
答案1
用双引号替换单引号;因为$A
公式中的单引号不会展开,而是被视为字面上$A
不12
A=12 ; bc <<< "scale=2;$(($A/5))"
2
另外,$(()) 里面的变量不需要指定为$A
,直接A
就可以了,例如
A=12 ; bc <<< "scale=2;$((A/5))"
2
接下来,执行 $(()) 时会调用 subshell,但这并不是您想要的,因为bc
此时不会执行任何操作。试试这个
A=12 ; bc <<< "scale=2; $A/5"
2.40
答案2
尝试:
A=12;echo 'scale=2;'"$A / 5"|bc -l