前言

在shell脚本中,所有的变量默认都是字符串存储,操作也是按照字符串进行处理的,但我们不可避免的需要对各中数值进行算术运算,如算术的相加减,那么这时怎么处理呢?
在shell脚本中,我们要实现对数值的算术运行,就要用到一下三种命令方式:
1、let 命令
2、(())命令
3、expr 表达式

let命令

let命令类似于c语言中的算术运行,直接进行数值相加减即可,如:

num1=90
num2=80
let num=num1+num2
echo "相加和为:$num"

(())命令

使用两个小括号进行算术运行,小括号内像正常的数学运算,即直接进行数值相加减即可,也不用,最外层取值才要加美元符号,如下:

num1=90
num2=80
echo "相加和为:$((num1+num2))"

expr 表达式

使用expr 表达式进行算术运算,小括号内必须运算符号必须有空格,同时小括号内的变量需取其值来进行运算,如下:

num1=90
num2=80
expr $num1 + $num2
为了取得整个 expr 表达式的值,最后我们需要使用倒引号或$()的形式,如下:
echo "使用expr命令:`expr $num1 + $num2`"
echo "使用expr命令:$(expr $num1 + $num2)"

注意:倒引号与$()等价的。

演示示例:

[root@Centos8 shell_scripy]# cat let_expr.sh
#!/bin/bash
num1=89
num2=100
let num=num1+num2
echo "使用let命令相加:$num"
echo -n '使用(())命令相加:'
echo "$((num1+num2))"echo "使用expr命令:`expr $num1 + $num2`"
echo "使用expr命令:$(expr $num1 + $num2)"

总结:

算术运算有三种命令方式

num1=89
num2=100
let num=num1+num2                 #第一种
echo "相加和为:$num"
echo "相加和为:$((num1+num2))"            #第二种
echo "使用expr命令:`expr $num1 + $num2`"                   #第三种,注意加号有空格
echo "使用expr命令:$(expr $num1 + $num2)"            #第三种

shell中算术运算、相加减相关推荐

  1. linux在shell中获取时间

    linux在shell中获取时间 获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量 DATE=$(date +%Y%m%d) 有时候我们需要使用 ...

  2. shell中获取时间

    获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量 DATE=$(date +%Y%m%d) 有时候我们需要使用今天之前或者往后的日期,这时可以使 ...

  3. linux在shell中获取系统时间,linux在shell中获取时间

    获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量 DATE=$(date +%Y%m%d) 有时候我们需要使用今天之前或者往后的日期,这时可以使 ...

  4. linux shell 网盘,linux在shell中获取时间

    获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量 DATE=$(date +%Y%m%d) 有时候我们需要使用今天之前或者往后的日期,这时可以使 ...

  5. 【linux】shell中整数运算的加、减、乘、除

    1.使用双括号"(( ))" shell中变量实现加法的方法 d= $(($d + 2)) 例子如下 #!/bin/bash d=0 echo "d=$d"fo ...

  6. linux 算术命令,shell中进行算术运算的各种方法

    shell中,无法直接进行算术运算,如果直接进行算术运算会出现如下情况. 从上图可以看出,默认情况下,shell不会直接进行算术运算,而是把"算术符号"当做"字符串&qu ...

  7. shell变量算术运算

    shell变量算术运算 ((i=j+k)) 等价于 i=expr $j + $k ((i=j−k)) 等价于 i=expr $j -$k ((i=j∗k)) 等价于 i=expr $j \*$k (( ...

  8. 判断正则 shell_【US分享】Shell中的括号

    小U有一天想要使用shell脚本跑一段时间的脚本,写了下面一段shell语句,发现报错了,运行的时候变成了这样: 一开始以为是由于bash将0开头的数字作为8进制了,所以出现08,09这样的数字就会报 ...

  9. bash shell 中时间操作常用方法总结

    在日常的工作中,bash shell 的时间操作非常频繁.比如shell脚本定时发送数据统计的时候,会查看当前是否为预定的发送时间.或者使用文件保存一些数据时,一般会生成时间字符串当做文件名的一部分. ...

  10. linux shell中的各种括号的使用方法

    在这里我想说的是几种shell里的小括号,大括号结构和有括号的变量,命令的用法,如下: 1.${var}  2.$(cmd)  3.()和{}  4.${var:-string},${var:+str ...

最新文章

  1. oracle创建DBA角色命令,oracle常用DBA命令
  2. 在虚拟机下安装DOS 6.22(上)
  3. python不支持prelu_python实现并绘制 sigmoid函数,tanh函数,ReLU函数,PReLU函数
  4. java import class_@class vs. #import
  5. Python 的 time 模块导入及其方法
  6. 数据可视化,带给你的惊艳并不止这一点!
  7. WordPress疑难问题以及解决方案汇总
  8. python perl正则表达式_python学习笔记(正则表达式)
  9. python 查看文件名_python 查看文件名和文件路径
  10. python列表转集合_Python数据类型 列表、元组、集合、字典的区别和相互转换
  11. java web 限下载速_JavaWeb实现文件上传与下载的方法
  12. 老式计算机如何设置u盘启动,旧主板bios界面设置U盘启动教程
  13. 如何用java代码实现隐藏自己的电话号码
  14. LSI Logic 1068 SAS 磁盘阵列卡配置教程
  15. 培训班和科班出来的程序员有什么不同之处?看完这个你就能明白!
  16. 漫谈高数 特征向量物理意义
  17. JS中的BOM、正则表达式、定时器
  18. 调用阿里短信通知平台
  19. python只读属性怎么设置_Python 定义只读属性的实现方式
  20. 2020春季学期哈工大软件构造学习心得三

热门文章

  1. Laravel 生态圈
  2. android开发学习——day3
  3. python 3.X中打包二进制数据存储字符串出错原因分析
  4. Codeforces Round #277 (Div. 2) E. LIS of Sequence DP
  5. 【转】64位win7环境eclipse集成svn后出现Failed to load JavaHL Library的解决办法
  6. js高程读书笔记(1-3章)
  7. 枚举题——四大明湖排序(本菜优化了一下)
  8. redis数据类型之List
  9. SpringMVC的原理
  10. Message Authentication Code