shell中算术运算、相加减_MssGuo的博客-程序员秘密_shell 加减

技术标签: centos命令大全、shell脚本编程  centos  

前言

在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)"

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

演示示例:

[[email protected] 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)"			#第三种
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/MssGuo/article/details/117574924

智能推荐

.NET 4.6.2 安装时出现 无法建立到信任根颁发机构的证书链”解决方法_tang_jian_dong的博客-程序员秘密

在安装Microsoft .NET Framework 4.6.2脱机包时提示 无法建立到信任根颁发机构的证书链实际上是要安装一个根证书 MicrosoftRootCertificateAuthority2011.cer 下载地址:http://download.microsoft.com/download/2/4/8/248D8A62-FCCD-475C-85E7-6ED59520F...

机器学习笔记之线性回归技术_线性回归因变量可以是离散的吗_数据小白的进阶之路的博客-程序员秘密

一、概念 线性回归是一种有监督的回归分析技术,其是找出自变量与因变量之间的因果关系,本质上是一个函数估计的问题。回归分析的因变量应该是连续变量,若因变量为离散变量,则问题就转化为分类问题。回归分析主要应用场景为预测,常用的算法有如下:线性回归、二项式回归、岭回归、Lasso等。二、模型的表达式及推导现有如下训练集:D={(X1,Y1),(X2,Y2),...,(Xn...

es 7.x JavaAPI 文档 最大值查询 分组查询_es查询某个字段最大值_java持续实践的博客-程序员秘密

文章目录最大值查询分组查询最大值查询import org.apache.http.HttpHost;import org.elasticsearch.action.search.SearchRequest;import org.elasticsearch.action.search.SearchResponse;import org.elasticsearch.client.RequestOptions;import org.elasticsearch.client.RestClient;im

python程序安装方法-Python学习---Python安装与基础1205_weixin_37988176的博客-程序员秘密

1.0. 安装1.1.1. 下载1.1.2. 配置环境变量因为在安装的时候我们选择了添加python到环境变量,所以默认安装好的,没有的可以手动更改。环境变量,添加路径到path即可,注意封号1.1.3. python 2 vs 31. 默认支持中文2. 不兼容2.x3. 核心语法调整,更易学4. 新特性默认只在3.x上有2.x = 默认编码 =ASSIC =不支持3.x = 默认编码 =UNIC...

com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value:_喜欢晚风的博客-程序员秘密

查看他给的有错误的那几行,最根本的原因是jdbcUtils的sql语句执行。但是其他sql语句使用这个工具类就是成功的,只有这个功能报错了。出错范围缩小到IAdminDaoImpl,因为只有他执行了sql语句,才会导致其他类报错,看这行代码,objs的参数是admin_id,password。但是sql语句里需要的参数是顺序是password,admin_id。一定要注意参数顺序。...

暴躁兔melody避坑记_枫之子叶的博客-程序员秘密

大家好,这里是暴躁兔,今天我们复盘Melody,关注链游的小伙伴们应该最近都听说过这个项目,简单来说,我们可以将Melody看成是StepN版本的Sing to Earn项目,规则难度并不复杂,项目本身存在的时间并不短,只不过近期官方进行盲盒销售同时产品打算正式上线,因此引发不少人的讨论。文章是10月24号开始写的,刚好Melody当天被黑客攻击,项目方发布了一份道歉声明,并及时控制住了局势,也算是将负面影响降到了低点,这点还是值得点赞的。同时Melody借着黑客风来了一场MEME大赛,不得不说有一定的营销

随便推点

《浊酒一杯忆往昔, 似水流年探追忆》_杨晓风-linda的博客-程序员秘密

前言:       岁月流转, 红尘迷乱. 建起一段时光唯美的遇见, 一笑, 便足以温暖整个流年.正文:                                          宠辱不惊,闲看书卷奥秘,去留无意,漫随书卷人生.       腹有诗书气自华.适时归零, 适时充电, 2018年, 阅书, 读己.                          ...

五种网络IO模型:阻塞IO、非阻塞IO、IO多路复用、信号驱动IO以及异步IO_wuhuaguo268的博客-程序员秘密

       同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronous IO和non-blocking IO是一个东西。这其实是因为不同的人的知识背景不同...

025 新弄了个日志背景_hackdoors的博客-程序员秘密

新弄了个日志背景 2007-08-05 11:05:26| 分类: 网文九尾狐——随|举报|字号 订阅今天闲来无事,于是乎一时兴起新弄个日志背景,测试了一下,比较浪费内存……不过什么东西向来就是这样,没有十全十美的时候。这个背景作为我个人来讲可有可无,但是想想这博客不单是我自己的,大家也常来观光,所以想还是征求一下朋友们的意见,请大家评论一下个日志背景实用吗?欢迎大家发表建议~~~~...

六款常用的linux C/C++ IDE_iteye_3753的博客-程序员秘密

一、AnjutaAnjuta是一个多语言的IDE,它最大的特色是灵活,同时打开多个文件,内嵌代码级的调试器(调用gdb),应用程序向导(Application wizards)可以方便的帮助你创建GNOME程序而不需要你自己写一些与你兴趣无关的代码。配置C/C++环境请看这里项目主页:http://anjuta.sourceforge.net/#安装:sudo apt-...

grpcurl的使用_安装grpcurl_a...Z的博客-程序员秘密

1、编写proto2、启动服务/** * @Author: zhangsan * @Description: * @File: main * @Version: 1.0.0 * @Date: 2021/5/10 下午5:04 */package mainimport ( "google.golang.org/grpc" "google.golang.org/grpc/reflection" "log" "net" servers "test/grpcurl/server"

推荐文章

热门文章

相关标签