文档章节

shell 执行数学运算

RoyceInWh
 RoyceInWh
发布于 2016/06/20 16:02
字数 241
阅读 3
收藏 0

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。

$[ ] 和 $(())
两种格式功能一样,所有的 shell 的求值都是用整数完成
$[ ] 可以接受不同基数的数字

本文转载自:http://blog.csdn.net/jingxia2008/article/details/27537863

RoyceInWh

RoyceInWh

粉丝 5
博文 240
码字总数 1282
作品 0
武汉
程序员
私信 提问
chapter 11. 构建基本脚本

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

莫显辉
2017/12/25
0
0
shell算数运算

((i=$j+$k)) 等价于 i= ((i=$j-$k)) 等价于 i= ((i=$j*$k)) 等价于 i=expr $j *$k ((i=$j/$k)) 等价于 i= Let expressions 执行一个或多个表达式。表达式中的变量前不必有$.如果表达式中包含...

摩西
2016/11/17
7
0
Shell编程基础 shell的结构、执行及变量

12月27日任务 20.1 shell脚本介绍 20.2 shell脚本结构和执行 20.3 date命令用法 20.4 shell脚本中的变量 shell脚本介绍 shell是一种脚本语言,是一名运维工程师所必需掌握的最基本的能力。通...

robertt15
2018/12/27
39
0
shell介绍,date命令,shell变量

Shell shell是什么? shell是一种脚本语言 可以使用逻辑判断、循环判断等语句; 可以自定义函数; shell是系统命令的集合,比如Windows的批处理命令; shell脚本可以实现自动化运维,能打打增...

若白衣
2018/10/29
0
0
无名小卒/VShell

#虚拟控制台(Virtual Shell) ##什么是虚拟控制台? 虚拟控制台(VShell)是一个基于Web的控制台终端模拟程序,它像windows的命令行,linux的shell一样提供一个命令行接口,你可以在这里执行任...

无名小卒
2015/04/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
5
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
6
0
数据库中间件MyCat

什么是MyCat? 查看官网的介绍是这样说的 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵...

沉浮_
昨天
6
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
7
0
常用物流快递单号查询接口种类及对接方法

目前快递查询接口有两种方式可以对接,一是和顺丰、圆通、中通、天天、韵达、德邦这些快递公司一一对接接口,二是和快递鸟这样第三方集成接口一次性对接多家常用快递。第一种耗费时间长,但是...

程序的小猿
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部