Shell中的数学运算使用

在Linux Shell中进行数学运算,通常可以使用的运算符有:

简单运算:

  • let
  • []
  • (())

高级运算:

  • expr
  • bc

1、let命令

let命令是bash内置命令,可以实现简单的算术以及逻辑运算,通过help let命令,可以查询到let命令的具体使用方法。

使用方法:

#!/bin/sh

i=10
echo $i

let i=i+10 #20
echo $i

let "i=i+100" #120
echo $i

2、[]

[]相当于let命令,其用法如下:

#!/bin/sh

i=10
echo $i

i=$[i+10] #20
echo $i

i=$[i+100] #120
echo $i

3、(())

(())等价于[],其具体用法如下:

#!/bin/sh

i=10
echo $i

i=$((i+10)) #20
echo $i

i=$((i+100)) #120
echo $i

4、expr

expr同样可以用来进行基本的算术运算。

注意:变量与运算符之间必须使用空格作为分隔符。

具体用法如下:

#!/bin/sh

i=10
echo $i

i=`expr $i + 10` #20
echo $i

i=`expr $i + 100` #120
echo $i

若是在变量与运算符之间没有空格,代码如下所示:

#!/bin/sh

i=10
echo $i

i=`expr $i+10` #10+10
echo $i

i=`expr $i+100` #10+10+100
echo $i

最终输出的是:

10
10+10
10+10+100

5、bc

若要在计算的过程中控制计算的精度,就得使用到bc命令。bc命令是一个支持精确的浮点运算的高级计算器,支持数学函数调用。

对于如下的计算:

#!/bin/sh

i=10
echo $i
j=3;
echo $j

m=`expr $i / $j` #3
echo $m

n=`echo "scale=9; $i / $j" | bc` #3.333333333
echo $n

到此这篇关于Shell中的数学运算使用的文章就介绍到这了,更多相关Shell 数学运算内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Windows Powershell 进行数学运算

    PowerShell支持如下算术运算符: 运算符 描述 例子 结果 + 把两个数值相加 6+2  8 - 把两个数值相减 6-2  4 - 将数值转换为对应的负值 -2+6 4 * 把两个数值相乘  6*2 12 / 把两个数值相除 6/2  3 % 返回除法运算的余数 6%4  2 运算符优先级 有一些因素决定了包含算术运算符的表达式如何被处理. 这些因素包括了: 运算符种类, 运算符的顺序, 是否有表达被括号括起来. 例如, 10+4/2返回结果12, 然而(10+4)/2返回结果却是7.

  • Shell(())实现对整数进行数学运算

    双小括号 (( )) 是 Bash Shell 中专门用来进行整数运算的命令,它的效率很高,写法灵活,是企业运维中常用的运算命令. 注意:(( )) 只能进行整数运算,不能对小数(浮点数)或者字符串进行运算.后续讲到的 bc 命令可以用于小数运算. Shell (( )) 的用法 双小括号 (( )) 的语法格式为: ((表达式)) 通俗地讲,就是将数学运算表达式放在((和))之间. 表达式可以只有一个,也可以有多个,多个表达式之间以逗号,分隔.对于多个表达式的情况,以最后一个表达式的值作为整个

  • Linux Shell脚本系列教程(五):数学运算

    在任何一种编程语言中,算术运算都是必不可少的,shell也不例外. 一. 使用let.(())和[]进行算术运算 可以使用普通变量赋值方法定义数值,这是,它会被保存为字符串.我们可以通过使用let.(()).[]等操作符,使得这些变量进行算术运算.例如: 复制代码 代码如下: #!/bin/bash no1=4                        #此处no1义字符串形式存储 no2=5                        #此处no2义字符串形式存储 let result=

  • Shell脚本编程中常用的数学运算实例

    这部分主要讨论数学相关的shell脚本编程. 加法运算 新建一个文件"Addition.sh",输入下面的内容并赋予其可执行的权限. 复制代码 代码如下: #!/bin/bash echo "Enter the First Number: " read a echo "Enter the Second Number: " read b x=$(expr "$a" + "$b") echo $a + $b =

  • 通过shell进行数学运算的多种方式

    在Bash中, bash的数学运算有点别扭,很难适应和记住, 只好写个博文, 方便以后翻翻看. 有四种方式可以进行数学运算: 一.let命令 复制代码 代码如下: #/bin/bashnum1=13num2=14let sum=$num1+$num2 echo $sum #自增let sum++ #自减let sum-- #简写形式let sum+=1let sum-=2 #顺便吐槽下,let sum=(1+3)*(2+2)居然不行, 果然很烂有没有! 二. $[]形式 复制代码 代码如下: #

  • Shell实现的一些数学运算自定义函数分享

    最近脚本中总是需要计算,每次都用awk会比较麻烦,就把awk的加减乘除封装了下,每次调用直接source math.sh就可以了. 有些要点要指出,以免以后修改的时候忘记:    1.对两个数字进行判断是否为数字,使用awk进行匹配 2.对两个参数进行循环校验(写两次校验显得笨拙),需要使用变量的引用${!para}. 复制代码 代码如下: #!/bin/bash ############################ #重写shell中基本数学运算+ - × / #时间:2014-01-18

  • Shell中的数学运算使用

    在Linux Shell中进行数学运算,通常可以使用的运算符有: 简单运算: let [] (()) 高级运算: expr bc 1.let命令 let命令是bash内置命令,可以实现简单的算术以及逻辑运算,通过help let命令,可以查询到let命令的具体使用方法. 使用方法: #!/bin/sh i=10 echo $i let i=i+10 #20 echo $i let "i=i+100" #120 echo $i 2.[] []相当于let命令,其用法如下: #!/bin/

  • JavaScript中的数学运算介绍

    JavaScript中,数学运算可藉由两种操作来实现: 1.+.-.*./.%等操作符. 2.使用Math对象的计算函数.比如,用Math.pow(2,3)来计算2的3次方. 与Java不同,JavaScript中的数学运算不会抛出任何错误.计算结果的溢出.除以0.对负数进行开方这些操作都是合法的,其结果为JavaScript中的特殊值:正负Infinity(无限).正负0.NaN(非数): 1.正负Infinity.当计算结果比JavaScript所能表示的最大数(Number.MAX_VAL

  • Python中的数学运算操作符使用进阶

    Python中对象的行为是由它的类型 (Type) 决定的.所谓类型就是支持某些特定的操作.数字对象在任何编程语言中都是基础元素,支持加.减.乘.除等数学操作. Python的数字对象有整数和浮点数,支持各种数学操作,比如+, -,*, /等. 没有这些操作符,程序中只能使用函数调用的方式进行数学运算,比如add(2, 3), sub(5, 2). 程序中操作符的作用与普通数学操作的用法是一致的,使用中更加简便直观.Python中,这些操作符实现是通过定义一些object的特殊方法实现的,比如o

  • shell 中数学计算总结

    1.错误方法举例 a) var=1+1 echo $var 输出的结果是1+1,悲剧,呵呵 b) var=1 var=$var+1 echo $var 输出结果是1+1,依然悲剧,呵呵 2.正确方法 1)使用let var=1 let "var+=1" echo $var 输出结果为2,这次没有悲剧 注意: a)经我测试let几乎支持所有的运算符,在网上看到一篇文章说"let不支持++.--和逗号.(.)",但经我测试自加.自减.以及括号的优先级都得到了很好的支持

  • shell中的各种括号的使用方法

    在这里我想说的是几种shell里的小括号,大括号结构和有括号的变量,命令的用法,如下: 1.${var} 2.$(cmd) 3.()和{} 4.${var:-string},${var:+string},${var:=string},${var:?string} 5.$((exp)) 6.$(var%pattern),$(var%%pattern),$(var#pattern),$(var##pattern) 现在分述如下: 1.Shell中变量的原形:${var} 大家常见的变量形式都是$va

随机推荐