在shell中,当我们进行浮点数的运算,特别是用于浮点数间的比较大小时,往往会出现一些问题,这里使用bc命令,帮你解决困难

它的一般格式:
var=`echo "option1;option2;...;expression"|bc`

其中options部分一般设置精度scale,和变量赋值expression部分是计算表达式,最后将它们放在反引号中赋值给变量
例子如下:

lk@ubuntu:~$ y=`echo "scale=2;x=5;x*x"|bc`
lk@ubuntu:~$ echo $y
25
lk@ubuntu:~$
lk@ubuntu:~$ echo "5 < 8 "|bc
1
lk@ubuntu:~$ echo "5 < 8 "|bc
0
lk@ubuntu:~$
在shell脚本的分支语句中使用bc比较浮点数大小:
#!/bin/bash
num=100
if [ $(echo "${num} > 1000.95"|bc) -eq 1 ]; thenecho ${num}
elseecho no
fi

(上面脚本中使用到的-eq是一个运算符,表示判断是否相等;前面bc命令的返回值是0或1,则之后用-eq进行判断)

在linux中可以通过bc命令进行非常强大计算,功能强大难以想象,它也是Linux中的计算器,这里仅做简单的介绍

shell中的浮点数运算之bc命令简介相关推荐

  1. shell中实现浮点数运算

    linux下的浮点数运算shell实现浮点数运算 awk实现浮点数运算 bc实现浮点数运算 awk实现浮点数运算 AWK 是一种处理文本文件的语言,是一个强大的文本分析工具. 主要部分 awk '{p ...

  2. linux shell数学计算器,技术|使用 GNU bc 在 Linux Shell 中进行数学运算

    在 shell 中使用 bc 更好地做算数,它是一种用于高级计算的数学语言. 大多数 POSIX 系统带有 GNU bc,这是一种任意精度的数字处理语言.它的语法类似于 C,但是它也支持交互式执行语句 ...

  3. linux中bc用法英文,使用GNU bc在Linux Shell中进行数学运算

    在 shell 中使用 bc 更好地做算数,它是一种用于高级计算的数学语言. 大多数 POSIX 系统带有 GNU bc,这是一种任意精度的数字处理语言.它的语法类似于 C,但是它也支持交互式执行语句 ...

  4. shell中的算数运算

    shell中的算数运算 首先这里所说的算术运算是指加法(+), 减法(-),乘法(*),整除(/), 求余(%)四种运算,可以通过添加括号改变优先级,并且只能对整数进行运算(Linux Bash Sh ...

  5. shell中的数学运算

    一.shell中支持的算术 算术运算符 说明/含义 +.- 加法(或正号).减法(或负号) *./.% 乘法.除法.取余(取模) ** 幂运算 ++.– 自增和自减,可以放在变量的前面也可以放在变量的 ...

  6. linux shell中小数的运算

    对于在Shell中进行小数数字的计算,其实方法有很多,但是常用的方法都有其弱点: 1.bc bc应该是最常用的Linux中计算器了,简单方便,支持浮点. root@localhost:~# echo ...

  7. Python中关于浮点数运算的不确定尾数的解释

    一.浮点数类型 与数学中实数概念一致,带有小数点及小数的数字.浮点数取值范围和小数精度都存在限制,但常规计算可忽略. 取值范围数量级约-10308到10308,精度数量级10-16. 二.浮点数运算的 ...

  8. python减法精确度不准是什么问题,聊聊Python中的浮点数运算不准确问题

    大家好,老 Amy 来了.之前就意识到一个问题,但是最近又有朋友提出来了,所以就想着干脆记录下来,分享给大家叭~ 啥问题呢?请看题: 也就是说,需要大家计算1.1-1的值,很多朋友会说:"e ...

  9. shell中使用case以及shift处理命令行参数

    shell或bash使用case与shift处理多个命令行参数 1. shift命令 在bash中定义了9个位置变量,分别使用$1,$2,-$9,借助 shift 命令可以访问多于9个的命令行参数. ...

最新文章

  1. R语言如何画个性化词云图
  2. C语言经典例68-数组元素循环偏移
  3. leetcode - 416. 分割等和子集
  4. 4022-基于链表的简单选择排序(C++,附思路)
  5. H3C交换机4核心节点IRF2虚拟化下检测机制
  6. IDEA太慢,喵喵要气死了
  7. 如何创建linux 脚本,如何创建和执行shell脚本
  8. 基于keras实现双向GRU的中文情感分析
  9. cf手游服务器连接中断,CF手游服务器连接失败怎么回事 无法连接服务器
  10. 免费隐私保护国外域名注册商namecheap教程
  11. Android开发详解之App升级程序一点通
  12. NBU常用命令简单汇总(二)
  13. 正则表达式 匹配美元等多种货币符号的超简单方法
  14. 小米4电信4G_2014716_官方线刷包_救砖包_解账户锁
  15. JS教程()js弹出小窗口(没有浏览器窗口地址栏,工具栏,菜单栏,显示栏,只有关闭和最小化按钮)
  16. sketch如何做设计稿交互_设计师用Sketch做设计稿时是用1倍图还是用2倍图做
  17. Python入门程序【六】
  18. AutoCAD、3D-Tool与电子相关的使用
  19. 计算机组装大赛的新闻稿,重庆科创职业学院开展“科创IT杯”计算机技能竞赛(新闻稿)...
  20. FIO测试硬盘性能参数和实例详细总结(附源码)

热门文章

  1. 解决vivado赋reg时出现的cannot assign to memory或者cannot assign a packed type to an unpacked type
  2. 微信 3.6.0 正式版来了,上班族狂喜!
  3. STM32单片机的启动模式 三种BOOT模式介绍
  4. OCR文本识别系统项目文档——欢迎探讨交流
  5. 关于 android 平台上的 usb 投屏
  6. 【MYSQL】MYSQL 主要函数
  7. CISP——密码学的应用
  8. 图片免费压缩在线的方法有哪些
  9. MP2451 VOUT计算公式 表
  10. 超给力,一款简单又实用的免费 GitHub 加速神器