shell中算术运算、相加减
前言
在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中算术运算、相加减相关推荐
- linux在shell中获取时间
linux在shell中获取时间 获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量 DATE=$(date +%Y%m%d) 有时候我们需要使用 ...
- shell中获取时间
获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量 DATE=$(date +%Y%m%d) 有时候我们需要使用今天之前或者往后的日期,这时可以使 ...
- linux在shell中获取系统时间,linux在shell中获取时间
获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量 DATE=$(date +%Y%m%d) 有时候我们需要使用今天之前或者往后的日期,这时可以使 ...
- linux shell 网盘,linux在shell中获取时间
获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量 DATE=$(date +%Y%m%d) 有时候我们需要使用今天之前或者往后的日期,这时可以使 ...
- 【linux】shell中整数运算的加、减、乘、除
1.使用双括号"(( ))" shell中变量实现加法的方法 d= $(($d + 2)) 例子如下 #!/bin/bash d=0 echo "d=$d"fo ...
- linux 算术命令,shell中进行算术运算的各种方法
shell中,无法直接进行算术运算,如果直接进行算术运算会出现如下情况. 从上图可以看出,默认情况下,shell不会直接进行算术运算,而是把"算术符号"当做"字符串&qu ...
- shell变量算术运算
shell变量算术运算 ((i=j+k)) 等价于 i=expr $j + $k ((i=j−k)) 等价于 i=expr $j -$k ((i=j∗k)) 等价于 i=expr $j \*$k (( ...
- 判断正则 shell_【US分享】Shell中的括号
小U有一天想要使用shell脚本跑一段时间的脚本,写了下面一段shell语句,发现报错了,运行的时候变成了这样: 一开始以为是由于bash将0开头的数字作为8进制了,所以出现08,09这样的数字就会报 ...
- bash shell 中时间操作常用方法总结
在日常的工作中,bash shell 的时间操作非常频繁.比如shell脚本定时发送数据统计的时候,会查看当前是否为预定的发送时间.或者使用文件保存一些数据时,一般会生成时间字符串当做文件名的一部分. ...
- linux shell中的各种括号的使用方法
在这里我想说的是几种shell里的小括号,大括号结构和有括号的变量,命令的用法,如下: 1.${var} 2.$(cmd) 3.()和{} 4.${var:-string},${var:+str ...
最新文章
- oracle创建DBA角色命令,oracle常用DBA命令
- 在虚拟机下安装DOS 6.22(上)
- python不支持prelu_python实现并绘制 sigmoid函数,tanh函数,ReLU函数,PReLU函数
- java import class_@class vs. #import
- Python 的 time 模块导入及其方法
- 数据可视化,带给你的惊艳并不止这一点!
- WordPress疑难问题以及解决方案汇总
- python perl正则表达式_python学习笔记(正则表达式)
- python 查看文件名_python 查看文件名和文件路径
- python列表转集合_Python数据类型 列表、元组、集合、字典的区别和相互转换
- java web 限下载速_JavaWeb实现文件上传与下载的方法
- 老式计算机如何设置u盘启动,旧主板bios界面设置U盘启动教程
- 如何用java代码实现隐藏自己的电话号码
- LSI Logic 1068 SAS 磁盘阵列卡配置教程
- 培训班和科班出来的程序员有什么不同之处?看完这个你就能明白!
- 漫谈高数 特征向量物理意义
- JS中的BOM、正则表达式、定时器
- 调用阿里短信通知平台
- python只读属性怎么设置_Python 定义只读属性的实现方式
- 2020春季学期哈工大软件构造学习心得三
热门文章
- Laravel 生态圈
- android开发学习——day3
- python 3.X中打包二进制数据存储字符串出错原因分析
- Codeforces Round #277 (Div. 2) E. LIS of Sequence DP
- 【转】64位win7环境eclipse集成svn后出现Failed to load JavaHL Library的解决办法
- js高程读书笔记(1-3章)
- 枚举题——四大明湖排序(本菜优化了一下)
- redis数据类型之List
- SpringMVC的原理
- Message Authentication Code