A=12 ; bc <<< $(($A/5))
这是正确的,但添加“scale”会导致错误:
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
接下来,在执行$(())时,您调用subshell,这不是您想要做的,因为bc不执行任何操作.试试这个
A=12 ; bc <<< "scale=2; $A/5"2.40