加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – bc:使用带有bash变量的“scale”

发布时间:2020-12-14 02:57:37 所属栏目:Linux 来源:网络整理
导读:很容易,我正在编写一个脚本,在浮点后需要一些2位数的值.试图使用bc我不明白如何使用“规模”,即 A=12 ; bc $(($A/5)) 这是正确的,但添加“scale”会导致错误: A=12 ; bc 'scale=2;$(($A/5))'(standard_in) 1: illegal character: $(standard_in) 1: illegal
很容易,我正在编写一个脚本,在浮点后需要一些2位数的值.试图使用bc我不明白如何使用“规模”,即
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

接下来,在执行$(())时,您调用subshel??l,这不是您想要做的,因为bc不执行任何操作.试试这个

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读