shell中算术运算、相加减

2023-11-08

前言

在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)"			#第三种
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

shell中算术运算、相加减 的相关文章

随机推荐

  • 分析优酷/土豆/pptv/乐视 HTML5、m3u8地址

    转载 http blog sina com cn s blog 4ae178ba01015hx1 html http blog sina com cn s blog 4ae178ba01015hwz html YouTube已经支持HTML
  • 步进电机与伺服电机基础知识

    步进电机与伺服电机基础知识 最近做三轴运动控制器 grbl方案 留记录 注 本文以两相电机为例 步进电机和伺服电机如果都用驱动器驱动的话 使用方式一样 所以本文以步进电机讲解 步进电机是一种与专门用于速度和位置精确控制的特种电机 它旋转是以
  • init,service和systemctl的区别

    参考http www ruanyifeng com blog 2016 03 systemd tutorial commands html 1 service service是一个脚本命令 分析service可知是去 etc init d目
  • 算法之组合数学及其算法篇(二) ----- 鸽巢原理

    鸽巢原理 前言 鸽巢原理 运用1 运用二 运用三 鸽巢原理的推广 推论 运用一 运用二 鸽巢原理在几何上的作用 鸽巢原理对于数学的证明 前言 鸽巢原理又称抽屉原理或鞋盒原理 这个原理最早是由狄利克雷 Dirichlet 提出的 鸽巢原理是解
  • 东风汽车集团技术中心携手永洪科技,实现一站式数字化转型!

    随着数字化浪潮的席卷 中国制造业正积极探索数字化转型之路 以适应经济高质量发展的需求 在这一背景下 中国领先的商业智能服务提供商永洪科技与东风汽车集团有限公司技术中心达成战略合作 共同推动东风汽车集团的数字化升级 作为中国汽车行业的领军企业
  • 准确率与召回率

    百度百科的解释很容易懂了 但是下面的解释非常容易记忆 你对你的前任回忆起来的有多少是对的就是准确率precison 当然你还有没回忆 recall 起来的 回忆起来的占总体回忆的比例就是召回率recall 中文翻译略坑 百度百科的内容 召回
  • (已解决)jar包启动命令中的自定义变量参数(-D...)无法被服务识别

    目录 问题现象 问题分析 1 本机IDEA启动测试 2 jar包脚本命令启动测试 解决方法 问题现象 今天在使用脚本文件 sh文件 启动 一个java服务时 发现脚本启动命令中添加的变量参数无法被服务识别到 问题分析 下面将通过一个java
  • 华为机试题85-最长回文子串

    描述 给定一个仅包含小写字母的字符串 求它的最长回文子串的长度 所谓回文串 指左右对称的字符串 所谓子串 指一个字符串删掉其部分前缀和后缀 也可以不删 的字符串 数据范围 字符串长度1 s 350 进阶 时间复杂度 O n 空间复杂度 O
  • table、tr、td表格的行、单元格等属性说明

    table 标签定义HTML表格 简单的HTML表格由table元素以及一个或多个tr th或td元素组成 tr元素定义表格行 th元素定义表头 td元素定义表格单元格 table 标签常见的可选属性有 1 align 规定表格相对周围元素
  • vue实现excel本地表格下载

    div style margin top 20px div
  • Springboot整合RedisTemplate

    RedisTemplate是在Jedis的基础上进行了封装 依赖
  • 抖音壁纸小程序怎么做?手把手教你开通流量主拥有自己的壁纸小程序

    最近抖音壁纸小程序很火 下面就让小编来给大家分享一下抖音壁纸小程序这套系统的独特之处 往下看 功能介绍如下 1 支持抖音 快手 QQ及微信4端合一 2 带达人入驻功能 3 达人分佣功能 4 独立的达人端后台 各项数据一目了然 5 支持独立达
  • 零知识证明原理

    零知识证明 定义 证明 Prover 向验证者 Verifier 证明一个命题成立 同时不泄露其他任何知识 这种就被称为零知识证明 应该具备以下三个性质 1 完备性 若一个证明方确实掌握了某论断的答案 则他肯定能找到方法向验证方证明他手中掌
  • mysql优化--explain--结果参数--02

    mysql优化 explain 结果参数 02 1 数据准备 DROP TABLE IF EXISTS course CREATE TABLE course id int 0 NOT NULL AUTO INCREMENT COMMENT
  • 那些你不知道的Typescript面试题

    1 面试官 说说你对 TypeScript 中类的理解 应用场景 一 是什么 类 Class 是面向对象程序设计 OOP Object Oriented Programming 实现信息封装的基础 类是一种用户定义的引用数据类型 也称类类型
  • 五笔

    学习五笔新口诀的一点心得 归纳记忆法 近日复习五笔新口诀 如何能便于记忆 有一点心得写出来供参考 若能抛砖引玉 也算没有白费精力 不胜欣慰 新口诀的特点 1 第一部分是中文键名 例如 王 土 大 木 2 第二部分是成字字根 例如 五 夫 一
  • Qt扫盲-QKeyEvent 键盘事件

    QKeyEvent 键盘事件 一 概述 二 事件传播 三 常用属性 1 key 2 modifiers 3 isAutoRepeat 4 text 四 简单组合键代码 一 概述 QKeyEvent 是Qt 里面描述键盘事件的一个属性类 所有
  • 虚拟机隔离

    虚拟机隔离 虚拟机隔离 需求分析 隔离内容 隔离措施 需求分析 背景 多实例的虚拟化环境 目标 通过隔离机制 具有利益关系的用户的虚拟机之间独立运行 互不干扰 风险 如果隔离不有效 当一个虚拟机方式错误时 会影响其他虚拟机 甚至整个系统 当
  • 网络安全-防守-护网

    护网背景 一 什么是护网 网络安全的态势之严峻 迫切需要我们在网络安全领域具备能打硬仗的能力 护网行动 应运而生 护网目标 通过防守工作与技术方案 做好 护网 前期准备 安全自查整改 攻防演练和演练总结等各阶段相关工作 保证护网期间 与相关
  • shell中算术运算、相加减

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