shell脚本中的小数运算

摘要:
有两种方法可以解决这个问题。然而,在bc计算器的帮助下,当容器模式运行时,容器中可能没有安装bc,因此需要引入bc并重新创建图像。a=3.2b=1.5c=“echo”比例=3;$a+$b“|bc”比例=2;小数位数为3 c=“awk vx=2.45 vy=3.123”BEGIN{printf“%.2f”,x*y}”“%2f是指小数位数为2位整数的操作n1=“expr$x+$y”n2=“expr$x-$y”n3=“expr$x*$y”#使用expr时,符号*需要转义n4=“expr$x/$y”n 5=“expr$x%$y”相当于n1=“xpr$x+$y”`

  shell脚本中直接进行小数的加减乘除操作,会报错integer expression expected。

       可以用2种方式解决,借助bc计算器,但是容器方式运行时,容器中可能没有安装bc,就需要引入bc,重新制作镜像。

       也可以用第2种方式awk。

a=3.2  
b=1.5  
c=`echo "scale=3;$a + $b"|bc` 

  scale=3;表示小数的位数为3位

c=`awk -v x=2.45 -v y=3.123 'BEGIN{printf "%.2f
",x*y}'`

      %.2f表示小数的位数为2位

        整数的运算

n1=`expr $x + $y`
n2=`expr $x  - $y`
n3=`expr $x * $y`  #使用expr时 符号* 需要转义
n4=`expr $x / $y`
n5=`expr $x % $y`

        ((n1=$x+$y))  等价于 n1=`expr $x + $y`

((n1=$x+$y)) 
((n2=$x-$y)) 
((n3=$x*$y)) 
((n4=$x/$y)) 
((n5=$x%$y)) 

免责声明:文章转载自《shell脚本中的小数运算》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇es查询示例基于NodeJS的全栈式开发下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

shell中各种括号的作用

一.小括号,圆括号() 单小括号() 1.命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。 2.命令替换。等同于cmd,shell扫描一遍命令行,发现了$(cmd)结构,便将$(cmd)中的cmd执行一次,得到其标准输出,再...

shell中的(),{}几种语法用法

转自:https://www.cnblogs.com/HKUI/p/6423918.html 查看脚本语法是否有错误:bash -n modify_suffix.sh跟踪执行sh -x modify_suffix.sh aaa 1.${var} 2.$(cmd) 3.()和{} 4.${var:-string},${var:+string},...

Linux-018-Centos Shell 判断软件是否已经安装

编写自动化安装脚本或部署应用的初始化脚本时,通常需要判断软件是否已经安装,通过如下方法,可进行初步的软件安装判断,shell 示例脚本如下所示: #!/bin/bash IS_INSTALLED=$(rpm -qa |grepjava) if [ $? -eq 0] then echo 'installed' else echo 'no...

[shell]实现脚本执行结果匹配某个字符串

今天接到一个这个要求,就是脚本执行结果中包含某个字符串,要求查出来。 我给的思路是 按照脚本名和结果 以 追加 的方式写入文本,然后从这个文本中查找相应的内容。 对方给的思路是以执行结果来判断,就自己实现了这种方式 首先是按照目录写入脚本,这里是在脚本中写入了echo $i的内容。也就是脚本有执行结果。 #!/bin/bash SH_DIR=sh_dir...

ssh使用密钥进行认证

生成私钥与公钥 比如,张三平常使用密码连接到服务器A的root账户,现在可以利用公钥,免密码连接到服务器A的root账户,首先,张三要生成一对密钥,私钥与公钥,私钥是自己保留的,一定不要泄露给它人,公钥是给别人用的,张三把公钥发给自己的朋友,朋友们就能用张三的公钥加密信息或者验证身份,当张三准备好了私钥与公钥,只要把公钥交给"服务器A的root账户",当张...

iOS使用shell脚本注入混淆内容

背景 公司需要做一系列的壳版本,壳版本如果内容雷同提交到App Store会有被拒绝的风险,其中有一种解决方案是在壳版本中注入混淆的代码,防止被苹果检测到内容太过雷同而导致审核被拒绝,本文是针对这个场景,使用shell脚本进行半自动批量添加和删除混淆代码。 shell实战的系列文章iOS使用shell脚本注入混淆内容iOS使用Shell脚本批量修改类名称i...