文档章节

shell 使用bc处理浮点数运算

元禛慎独
 元禛慎独
发布于 2016/10/10 18:46
字数 277
阅读 191
收藏 1

在shell下

首先 一般的整数运算可以用 expr这个命令解决,expr命令一般用于整数值,但也可用于字符串。一般格式为:
expr argument operator argument
expr也是一个手工命令行计数器。
$expr 10 + 10
20
$expr 1500 + 900
2500
$expr 30 / 3
10
$expr 30 / 3 / 2
5
(注意运算符左右都有空格 ,如果没有空格表示是字符串连接)
使用乘号时,必须用反斜线屏蔽其特定含义。因为shell可能会误解显示星号的意义。
$expr 30 * 3
90

 

 

但是shell不能处理浮点数——悲剧啊!!也就是说 while [ 0.1 -le 1] 它会报错的, 它不知道0.1是啥

这个时候要解决两个问题:

1, 如何计算 0.1 + 0.1,

用bc命令啦, 呵呵

这里有一个简单的使用 bc 命令的模版可以用来在计算脚本中的变量. 用在命令替换 中.

variable=$(echo "OPTIONS; OPERATIONS" | bc)

如:interest_rate=$(echo "scale=9; $interest_r/12 + 1.0" | bc)

也就是说 i=$(echo "0.1 + 0.1"|bc)

i的值就是0.2了哦

本文转载自:

元禛慎独
粉丝 3
博文 209
码字总数 60366
作品 0
朝阳
程序员
私信 提问
linux-shell编程下的数学运算

  前言 在Linux Shell编程中,一般默认输出的都是字符串,如果需要执行数学运算的话就需要使用let或者expr等进行运算,而且这个只能进行整数运行;如果需要有浮点数运行就需要bc或者awk来现...

linux运维菜
2018/07/12
0
0
chapter 11. 构建基本脚本

创建shell脚本 shell脚本第一行为指定具体shell来运行该脚本,可以指定shell(待验证) echo 使用echo输出时,可以使用-n参数来不进行换行,例如 环境变量 可以使用命令查看全部环境变量 可以...

莫显辉
2017/12/25
0
0
Linux/unix不同shell环境下数值运算的处理

在阅读本文前,您需要对变量替换、命令替换和数值替换有一点认识。 阅读完本文,您应该获得解决下列问题的信息: 不同shell(bash,csh,ksh)下如何处理数值的运算 常用来数值运算的命令 关于运...

技术小胖子
2017/11/03
0
0
shell脚本学习(Chapter 1)

涉及到的东西: * 脚本如何执行与脚本基本书写方式 * echo、printf终端打印 * 变量的赋值操作:没有引号、单引号、双引号 * 变量的取值 * 两个环境变量:PATH、PS1 * 数学运算方法:let、(( ...

心中的理想乡
2017/09/17
17
0
Linux Shell编程学习笔记(一)变量和文件描述符

看了<Unix的设计思想>,情不自禁希望重新学习我曾经忽视的linux的shell脚本编程。我并不是随波逐流,也不是那种顽固的技术党,只是很纯粹的想了解这么技术,如果你有什么好的想法,也可以跟我交流...

-非墨-
2014/01/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

佳博标签打印问题-

由于网页打印不行,要么sdk 写成activex,这样浏览器支持又有局限。 因此,采用客户端编写打印服务启动,定时轮询服务端打印队列,从服务的获取打印队列进行打印。 服务端web 点击打印,讲打...

mellen
16分钟前
1
0
Jmeter利用JMXMon插件监控服务器JVM情况

1、Jmeter下载JMXMon插件 2、Jmeter 添加 JMXMon请求 远程监控JVM状态需要在JVM启动时候加上一段参数才行,在tomcat bin目录下找到catalina.sh 在# OS specific support. $var _must_ be set...

覃光林
17分钟前
2
0
Qt编写安防视频监控系统(界面很漂亮)

一、前言 视频监控系统在整个安防领域,已经做到了烂大街的程序,全国起码几百家公司做过类似的系统,当然这一方面的需求量也是非常旺盛的,各种定制化的需求越来越多,尤其是这几年借着人脸...

飞扬青云
21分钟前
3
0
Python的requests库中的Put方式使用

1.后端接口 @PutMapping public ResponseEntity<MyObject> putMyObject( @RequestBody MyObject myObject) { ... } Put请求参数在请求体里面。 1.前端请求 import requestsimpo......

亚林瓜子
22分钟前
1
0
全站加速(DCDN)- IP应用加速产品解读

5月22日下午15点,阿里云全站加速(DCDN)-IP应用加速如期发布。IP应用加速是阿里云自主研发的一款更高效、更安全、更便捷的动态加速产品,结合阿里云CDN本身的资源优势,利用就近接入、智能...

迷你芊宝宝
26分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部