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

在Bash中, bash的数学运算有点别扭,很难适应和记住, 只好写个博文, 方便以后翻翻看. 有四种方式可以进行数学运算:

一、let命令

代码如下:

#/bin/bash
num1=13
num2=14
let sum=$num1+$num2

echo $sum

#自增
let sum++

#自减
let sum--

#简写形式
let sum+=1
let sum-=2

#顺便吐槽下,let sum=(1+3)*(2+2)居然不行, 果然很烂有没有!

二、 $[]形式

代码如下:

#!/bin/bash
sum = $[99+88]

#[]也使用变量
num1=11
num2=22
sum=$[$num1+$num2]

三、 $(())方式

代码如下:

#!/bin/bash
sum=$((1+2))

# $(())里可以使用()进行优先级运算安排
sum=$(( (1+2)*3 ))
echo $sum #9

四、 另外还可以使用expr命令, 这个命令需要操作数与操作符号有空

代码如下:

#!/bin/bash
expr 3 + 4 #7

sum=`expr 33 + 44`#33后有空格, "+" 后有空格, 要是写的是 sum=`expr 3+4`, echo $sum将会是33+44
echo $sum #77

上面4种方式不支持浮点数运算,要进行浮点数运算的话, 应该使用bc命令,语法格式比较简单:

代码如下:

#!/bin/bash

sum=`echo 222.222+333.333 | bc`
echo $sum

#sum=`echo 12.228222+(22222*2) | bc`居然不行, 果断鄙视之.

(0)

相关推荐

  • 通过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)居然不行, 果然很烂有没有! 二. $[]形式 复制代码 代码如下: #

  • Tensorflow tensor 数学运算和逻辑运算方式

    一.arthmetic 算术操作(+,-,*,/,Mod) (1)tensor-tensor操作(element-wise) #两个tensor 运算 #运算规则:element-wise.即c[i,j,..,k]=a[i,j,..,k] op b[i,j,..,k] ts1=tf.constant(1.0,shape=[2,2]) ts2=tf.Variable(tf.random_normal([2,2])) sess.run(tf.global_variables_initializer(

  • 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 =

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

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

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

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

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

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

  • 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/

  • 从零开始学习Node.js系列教程之基于connect和express框架的多页面实现数学运算示例

    本文实例讲述了Node.js基于connect和express框架的多页面实现数学运算.分享给大家供大家参考,具体如下: 1.使用connect框架 .use方法用于绑定中间件到connect服务器,它会配置一系列在接到请求时调用的中间件模块,此例中我们要配置的中间件有favicon logger static router app.get/post/put        写法:app.requestName('path', function(req, res, next){}); app-co

  • PHP数学运算函数大汇总(经典值得收藏)

    本文汇总分析了PHP数学运算函数.分享给大家供大家参考,具体如下: 一.常用函数说明: Abs: 取得绝对值. Acos: 取得反余弦值. Asin: 取得反正弦值. Atan: 取得反正切值. Atan2: 计算二数的反正切值. base_convert: 转换数字的进位方式. BinDec: 二进位转成十进位. Ceil: 计算大于指定数的最小整数. Cos: 余弦计算. DecBin: 十进位转二进位. DecHex: 十进位转十六进位. DecOct: 十进位转八进位. Exp: 自然对

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

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

随机推荐