转自:http://hi.baidu.com/qi_hao/item/fd01117b021d64356e29f692

bash本身不具备浮点运算功能,最近在看《Advanced Bash-Scripting Guide》,里面介绍了一种使用bc来实现bash浮点运算的方法。bc是一个高精度的计算器,gentoo用户可以使用emerge bc来安装。在脚本中使用bc的基本格式如下:
variable=$(echo "OPTIONS; OPERATIONS" | bc)下面是几个例子:

  1. #! /bin/bash
  2. a=1.2
  3. b=1.3
  4. c=$(echo "$a+$b"|bc) #加法运算
  5. d=$(echo "$a*$b"|bc) #乘积运算
  6. e=$(echo "scale=5;$a/$b"|bc) #除法运算,scale=5为指定小数位数为5位
  7. echo "$c $d $e"
  8. echo "s(1)"|bc -l #计算sin(1),-l选项为调用数学库
  9. #计算0.5+0.5^2+...+0.5^5
  10. s=0
  11. for i in 1 2 3 4 5
  12. do
  13. s=$(echo "$s+0.5^$i"|bc -l)
  14. done
  15. echo $s

有关bc的使用及语法请参见man bc。

转载于:https://blog.51cto.com/chart/1055229

在bash脚本中进行浮点运算相关推荐

  1. 第四组视频:在bash脚本中使用脚本选项

    马哥教育(http://www.magedu.com)在bash脚本中使用脚本选项.本视频是我们上课过程的实际记录.下载地址:    http://down.51cto.com/data/414002 ...

  2. 处理除第一个之外的所有参数(在bash脚本中)

    本文翻译自:Process all arguments except the first one (in a bash script) I have a simple script where the ...

  3. 如何在bash脚本中提示用户进行确认? [重复]

    本文翻译自:How do I prompt a user for confirmation in bash script? [duplicate] This question already has ...

  4. 如何从Bash脚本中检测操作系统?

    我想将.bashrc和.bash_login文件保存在版本控制中,以便我可以在我使用的所有计算机之间使用它们. 问题是我有一些操作系统特定的别名,所以我一直在寻找一种方法来确定脚本是否在Mac OS ...

  5. java中bash应用_在bash脚本中查找java应用程序的进程ID(以查看目标应用程序是否已在运行)...

    我知道获取进程ID有一百万个问题,但这个问题似乎是独一无二的.谷歌没有给我答案,所以我希望stackexhange会帮助而不是关闭这个问题. 当涉及Java时,找到进程ID似乎比较棘手(pgrep不起 ...

  6. bash脚本中出现[[:not found错误的解决方法

    bash脚本中出现[[:not found错误的解决方法--bash脚本总结1 今天在写脚本的时候,发生了一个奇怪的问题:在脚本中使用[[的时候报错"[[: not found". ...

  7. linux脚本里用expect,如何在bash脚本中使用expect

    这是我在 following bash脚本中使用的代码片段: for user_input in `awk '{print}' testfile_$$.txt` do ipaddress=`echo ...

  8. bash脚本中的if else

    文章目录 前言 一.bash脚本中的if else 总结 前言 因为bash语言是linux原生自带的,所以我们的仿真入口脚本通常使用bash,在bash脚本中,经常会用到if else的分支,由于与 ...

  9. Bash 脚本中的错误处理

    导读 本文讲述了在 Bash 脚本中处理错误的一些技巧,如何获取错误代码.在执行脚本时获得详细输出.处理调试功能和错误重定向.使用这些技巧,系统管理员可以使他们的日常工作变得轻松. 退出状态 在 Ba ...

最新文章

  1. 使用Vue时localhost:8080中localhost换成ip地址后无法显示页面的问题
  2. 分数优先遵循志愿php源码_天津中考录取16字原则:分数优先、遵循志愿、一次投档、额满为止...
  3. 高速串行总线设计基础(五)揭秘SERDES高速面纱之多相数据提取电路与线路编码方案
  4. 解决ExcelReport导出Excel报Number of rules must not exceed 3错误的问题
  5. java笔试题(3)
  6. Java读写二进制数据
  7. 数据中心网络组网的不同方案
  8. kettle 使用java版本_Kettle最新版本8.X详解
  9. [2021 CSP-S提高组] 题解(廊桥分配+括号序列+回文+交通规划)
  10. javaWeb服务详解(含源代码,测试通过,注释)
  11. CPPUnit 测试宏
  12. 约瑟夫问题公式及代码实现
  13. 通过hashtable实现dic
  14. 小米11顶配版屏幕参数曝光:2K 120Hz高刷屏支持运动补偿
  15. 20200320:反转字符串中的元音字母(leetcode345)
  16. 100%防御ARP***
  17. windows server 2008 r2 x64 enterprise service pack1中aspjpeg.dll安装
  18. 根服务器修改密钥,更改 SQL Server 实例的服务主密钥
  19. Where子句常用查询条件
  20. SpringBoot 查询今年所有节假日

热门文章

  1. VTK:可视化算法之DisplacementPlot
  2. VTK:小部件之TextWidget
  3. VTK:PolyData之PointLocatorRadius
  4. VTK:PolyData之CellCenters
  5. VTK:几何对象之CylinderExample
  6. OpenCV小部件的姿势Pose of a widget
  7. Qt Creator列表和其他数据模型
  8. OpenGL coordinate systems坐标系统的实例
  9. OpenGL Sample Rate Shading采样率阴影的实例
  10. QT实现自定义3D材质