linux之bc命令
当在脚本中要处理浮点数计算时,就可以使用bc计算器,先看下面的例子
[root@node2 tmp]# cat bc.sh
#!/bin/bash
#
num1=`echo "scale=3; 4.3/7" | bc`
echo $num1
[root@node2 tmp]# ./bc.sh
.614
当碰到较短的运算时,就可以使用这种方法
variable=`echo "options; expression" | bc`
但是如果你计算较为复杂的话,在同一个命令中一次性列出多个
表达式会比较麻烦。这时,就可以bc命令的输入重定向了。
使用内联输入重定向:
variable=`bc << EOF
options
statements
expressions
EOF
`
先看看下面的例子
[root@node2 tmp]# cat bc.sh
#!/bin/bash
#
num1=14.5
num2=5
num3=32.4
num4=`bc << EOF
scale=4
a=($num1 / $num2)
b=($num3 / $num2)
a + b
EOF
`
echo $num4
[root@node2 tmp]# ./bc.sh
9.3800
要注意的是在bash计算器中创建的变量a和b在shell脚本中是不能使用的。
linux之bc命令的更多相关文章
- linux的bc命令介绍
bc命令是一种支持任意精度的交互执行的计算器语言.bash内置了对整数四则运算的支持,但是并不支持浮点运算,而bc命令可以很方便的进行浮点运算,当然整数运算也不再话下. 算术操作高级运算bc命令它可以 ...
- bc命令详解
基础命令学习目录首页 原文链接:https://www.cnblogs.com/lovevivi/p/4359296.html 最近经常要在linux下做一些进制转换,看到了可以使用bc命令,如下: ...
- 关于Linux中使用bc命令计算圆周率
Linux系统中,我们可以安装bc计算器用来计算pi值(π圆周率) 在玩的同时,这可以从某些方面反映出一个CPU的运算能力,在命令最前加上time即可 如果系统中没有bc命令,需要先进行安装:yum ...
- Linux bc 命令简单学习
1. bash里面能够实现比较简单的四则运算 echo $((*)) 注意是 双括号+ $ 地址符号. 2. 但是比较复杂的 可能就难以为继了 比如不支持精度 3. 所以这里面需要使用 bc 命令来执 ...
- 从零单排Linux – 1 – 简单命令
从零单排Linux – 1 – 简单命令 Posted in: Linux 从零单排Linux – 1 一.Linux的简单命令: 1.忘记root密码: 读秒时按任意键进入 – e – ↓选择第二个 ...
- bc命令详解与实例
bc: bc 是一种高精度的可交互执行的计算机语言.它在一些浮点数的运算中应用广泛. 一般情况下我们直接输入 bc ,便可进入其工作环境.当然,它还有其他的参数 -h 显示帮助信息并退出 -i 强制进 ...
- Linux系统常用命令权威指南
<一>线上查询及帮助命令(2)1.man man [选项] [命令] 查看命令帮助,命令的词典,更复杂的还有info,但不常用. #man cd-a 显示所有的手册页,不只是显示第一个-f ...
- 我把一些Linux的中英文命令做了对应翻译大家参考一下
本文我们把Linux的中英文命令做了对应翻译,给需要的朋友参考一下.(http://wap.0834jl.com) 很多朋友在论坛上找Linux英文命令,我们给大家整理了比较全的Linux英文命令,并 ...
- SHELL脚本--数学运算和bc命令
bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 使用let.(()).$(())或$[]进行基本的整数运算,使 ...
随机推荐
- LocalSessionFactoryBean有几个属性查找hibernate映射文件
LocalSessionFactoryBean有几个属性查找hibernate映射文件: mappingResources.mappingLocations.mappingDirectoryLocat ...
- 黑裙辉DS918+安装错误码21,安装教程 重装需要重新制作启动盘
不然报错误码21
- Java室内最短路径搜索(支持多楼层)
修改了上次的代码,现在支持室内的多楼层情况下的最短路径搜索,还是使用A*算法,把在GraphAdjList中VNode没有利用起来的data字段作为我们存储楼层属性的位置. 实际上是我偷懒了,正常情况 ...
- <每日一题>题目8:文件备份V1.0
import os #备份文件的路径 file_address = input("输入需要备份文件所在的路径:") os.chdir(file_address) #备份文件命名 f ...
- mariadb ROW格式复制下从库结构变更引发1677错误
stop slave;set global slave_type_conversions=ALL_LOSSY;start slave; 详细度娘slave_type_conversions的参数说明
- docker上构建redis容器
1.查看docker上的镜像 [root@holly ~]# docker images 2.搜索docker上的redis镜像,选择下载的版本 [root@holly ~]# docker sear ...
- CAS客户端配置
1. 导出证书 以上操作会在当前目录产生文件:ssodemo.crt(需要用到的文件请看CAS服务端配置那篇文章) 2. 客户端导入证书 以上操作会在jdk安装目录jre\lib\security下产 ...
- sas正则式之prxparen
sas正则式之prxparen 今天还是要继续正则式的内容,这周的内容是prxparen函数,这个函数我个人觉得特别有用,是因为他和"|"结合使用可以同时容纳很多种情况的字符串. ...
- Android App的设计架构:MVC,MVP,MVVM与架构AAAAA
1. 架构设计的目的1.1 通过设计使程序模块化,做到模块内部的高聚合和模块之间的低耦合.1.2 这样做的好处是使得程序在开发的过程中,开发人员只需要专注于一点,提高程序开发的效率,并且更容易进行后续 ...
- 为什么@RestController返回的Date类型是Long型
最近项目中发现一个好玩的事情:本地调试时,返回的date是日期格式yyyy-MM-dd HH:mm:ss,但发布到服务器后就变为Long型的时间戳了 最后查到的原因很简单,因为发布服务器启动时的脚本加 ...