美文网首页
在脚本中进行数字运算

在脚本中进行数字运算

作者: Peng_001 | 来源:发表于2020-06-11 16:53 被阅读0次

linux 的数字运算

linux 提供以下几种数字运算的方式

  • expr
  • [] 通过方括号将数字运算结果赋值给变量。
  • bc 计算器

而通常来说,bc 计算器使用是最方便的。

脚本中使用bc

我们可以利用管道的特性,将内容传递给bc 计算器,再将返回的值赋值给变量。
基本格式:variable=$(echo "options; expression" | bc)

尝试一下,我们可以通过scale 来设定bc 的参数。

$ cat test8
#!/bin/bash
a=$(echo "scale=4;23/3" | bc)
echo "The answer is $a."
$ test8
The answer is 7.6666.

当然,对于表达式,我们也可以不局限于只使用数字,也可以使用shell 脚本里定义好的变量。

应用不同的变量,我们可以进行复杂的运算。对于较短的运算,还不是特别麻烦,但一旦涉及的运算内容复杂起来了,不断的使用bc 进行赋值就显得非常麻烦了。

这时候我们可以使用内联输入重定向。标准格式如下:

variable=$(bc << EOF
options
statements
expressions
EOF
)

尝试一下:

$ cat test9
#!/bin/bash
v1=10.33
v2=12.31
v3=213.22
v4=232.21

v5=$(bc << eof
scale=4
a1=($v1/$v2)
a2=($v3/$v4)
a1+a2
eof
)

echo "The anwser is $v5."

如果不使用内联输入重定向的情况。

$ cat test10
#!/bin/bash
v1=10.33
v2=12.31
v3=213.22
v4=232.21

a1=$(echo "scale=4;$v1/$v2"|bc)
a2=$(echo "scale=4;$v3/$v4"|bc)

v5=$(echo "scale=4;$a1+$a2"|bc)

echo "The anwser is $v5."

对比不难发现,使用重定向输入会简化许多。

相关文章

  • 在脚本中进行数字运算

    linux 的数字运算 linux 提供以下几种数字运算的方式 expr [] 通过方括号将数字运算结果赋值给变量...

  • Linux_Shell脚本编程之运算符

    基本介绍 学习如何在shell脚本编程中进行各种运算操作 基本语法 1、”[运算符]“ 或者 expr m + n...

  • 如何在Shell中进行数学运算

    平时工作中需要写一些脚本完成服务器性能监控、动态配置启动脚本等,避免不了在Bash中进行数学运算,本文介绍几种常见...

  • 2016.10.11 shell脚本语句

    shell脚本语句 运算符符 运算符的使用+ - * /1. expr是计算整数类型行的数据2. 运算符左右都要有...

  • Operators功能介绍

    Operators(运算) 1. () + (),计算两个数字相加的结果 执行下面的脚本,小猫会说“7” 2. (...

  • js 移位操作符

    1、左移运算(<<)## 在右边补0,数字变大 2、右移运算(>>)## 在左边补0,数字变小 3、无符号右移运算...

  • 数字处理类

    数字格式化数字运算随机数大数字运算

  • Shell 基本运算符(练习)

    算数运算符 执行脚本,输出结果如下所示: 关系运算符 执行脚本,输出结果如下所示: 布尔运算符 执行脚本,输出结果...

  • 前嗅ForeSpider脚本教程:运算符与运算顺序

    今天小编为大家介绍的是:前嗅ForeSpider脚本中的运算符和运算顺序,具体内容有:脚本支持的运算符、运算顺序、...

  • 在postman脚本中进行urlencode编码

    进行urlencode编码 在进行接口测试的过程中,一部分接口的参数需要做urlencode编码,如果将传输的参数...

网友评论

      本文标题:在脚本中进行数字运算

      本文链接:https://www.haomeiwen.com/subject/qekbtktx.html