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

bash – expr:非整数参数.如何减去点十进制数

发布时间:2020-12-15 21:34:29 所属栏目:安全 来源:网络整理
导读:我试图通过运行以下bash脚本减去两个数字: #!/bin/bash -xcur_length=`cat length.txt`cur_pos=`cat pos.txt`diff=`$(expr $cur_length - $cur_pos)`echo "$diff" 但输出说expr有一些问题: +++ expr 235.68 - 145.9expr: non-integer argument+ diff=+ ech
我试图通过运行以下bash脚本减去两个数字:

#!/bin/bash -x
cur_length=`cat length.txt`
cur_pos=`cat pos.txt`

diff=`$(expr $cur_length - $cur_pos)`
echo "$diff"

但输出说expr有一些问题:

+++ expr 235.68 - 145.9
expr: non-integer argument
+ diff=
+ echo ''

我在网上搜索过“expr:non-integer argument”,但没有涉及点十进制数.
我怎样才能减去这样的数字? 235.68 – 145.9

提前致谢.

解决方法

Bash不做分数,只做整数.改用bc:

$echo  '235.68 - 145.9' | bc
89.78

当然,结果可以像使用expr一样放在shell变量中:

$diff="$(echo  '235.68 - 145.9' | bc)"
$echo $diff
89.78

(编辑:李大同)

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

    推荐文章
      热点阅读