news 2026/9/2 13:30:40

Shell中常用的几种运算,收藏自用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Shell中常用的几种运算,收藏自用

文章目录

  • 一、算数运算符
    • 1、加法 +
    • 2、减法 -
    • 3、乘法 *
    • 4、除法 /
    • 5、求余 %
    • 6、幂运算
    • 7、自增运算 ++
    • 8、自减运算 - -
  • 二、算数运算命令
    • 1、(())运算,效率高
    • 2、let 运算
    • 3、expr 使用反引号,运算符必须用空格隔开
    • 4、 bc 计算器
    • 5、 declare -i
  • 三、比较运算
  • 四、逻辑运算符
    • 1、 && 运算
    • 2、 || 运算
  • 五、浮点运算
    • 1、awk方法
    • 2、bc方法

一、算数运算符

常用四则运算、求余数

+ 加法 - 减法 * 乘法 / 除法 % 求余
安卓连ssh工具 分享链接:https://pan.xunlei.com/s/VP0Qm7cBID9MH-bNcaaxtCrFA1?pwd=em3d
[root@yteach~]# a=10;b=20

1、加法 +

[root@yteach~]# echo$((a+b+10))40

2、减法 -

[root@yteach~]# echo$((b-a-5))5

3、乘法 *

[root@yteach~]# echo$((a*b+10))210

4、除法 /

[root@yteach~]# echo$((b/a+1))3

5、求余 %

[root@yteach~]# echo$((b%a))0

** 幂运算 ++ 自增 -- 自减

6、幂运算

[root@yteach~]# a=2;b=3[root@yteach~]# echo$((a**b))8

7、自增运算 ++

#运算符在后面,先输出后运算[root@yteach~]# a=2[root@yteach~]# echo$((a++))2[root@yteach~]# echo $a3#运算符在前面,先运算后输出[root@yteach~]# echo$((++a))3

8、自减运算 - -

#运算符在后面,先输出后运算[root@yteach~]# a=2[root@yteach~]# echo$((a--))2[root@yteach~]# echo $a1#运算符在前面,先运算后输出[root@yteach~]# echo$((--a))1

二、算数运算命令

(()) 用于整数运算,效率高,乘法不用加转义符 let 整数运算,与(())类似 expr 整数运算 bc 计算器,可以运算整数及小数 $[] 整数运算 declare 定义变量值和属性,-i参数用于定义整形变量

1、(())运算,效率高

[root@yteach~]a=3;b=2[root@yteach~]# echo$((3*4+a+4/b-3%2))16

2、let 运算

[root@yteach~]# a=3;b=4[root@yteach~]#letc=$a+$b[root@yteach~]# echo $c7

3、expr 使用反引号,运算符必须用空格隔开

[root@yteach~]# a=3;b=4echo`expr $a + $b \* 3 - 4 / 2 + 4 % 3`14

4、 bc 计算器

[root@yteach~]# a=3;b=4[root@yteach~]# echo $a+$b|bc7$[][root@yteach~]# a=3;b=4[root@yteach~]# echo $[a+b*a+4/2+4%3]18

5、 declare -i

[root@yteach~]# declare-i a=1;b=2[root@yteach~]# a=a+b[root@yteach~]# echo $a3

三、比较运算

-eq 等于 -gt 大于 -lt 小于 -ge 大于等于 -le 小于等于 -ne 不等于

四、逻辑运算符

&& 与运算(and) 真真为真,真假为假,假假为假 || 或运算(or) 真真为真,真假为真,假假为假 ! 非(取反) 非真为假,非假为真

1、 && 运算

[root@yteach~][1-gt0]&&[2-le3]&&echotrue||echo flasetrue[root@yteach~][1-le0]&&[2-gt1]&&echotrue||echo flase flase[root@yteach~][1-ge2]&&[2-le1]&&echotrue||echo flase flase

2、 || 运算

[root@yteach~][1-ge0]||[2-gt1]&&echotrue||echo flasetrue[root@yteach~][1-ne0]||[2-le1]&&echotrue||echo flasetrue[root@yteach~]#[1-eq0]||[2-eq1]&&echotrue||echo flase flase

五、浮点运算

1、awk方法

[root@yteach~]# a=$(awk'BEGIN{print 1.23/2+3.2*2}')[root@yteach~]# echo $a7.015

2、bc方法

[root@yteach~]# b=$(echo"5.21+1.314*2-1.3"|bc)[root@yteach~]# echo $b6.538bc 计算除法时需要加入scale参数,否则结果不会保留小数点后面的数[root@yteach~]# a=`echo "scale=2;3.14/2"|bc`[root@yteach~]# echo $a1.57
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 13:27:45

VHDL实现LDPC比特翻转解码器:从算法原理到FPGA硬件设计

简介:本资源是一套基于比特翻转算法的LDPC码硬件解码器VHDL实现方案,面向通信工程、数字电路设计及FPGA开发领域的初学者与进阶实践者,聚焦低复杂度LDPC解码器的可综合逻辑设计与算法映射。压缩包共9个文件,含8个MATLAB脚本&#…

作者头像 李华
网站建设 2026/9/2 13:27:00

170、51单片机水塔水箱水位加水排水检测报警设计(程序+原理图+PCB源文件+Proteus仿真+参考论文+开题报告+任务书+开发资料+元器件清单等)

毕设帮助、开题指导、技术解答(有偿)见文未 目录 一、硬件方案 二、设计功能 三、实物图 四、原理图 五、PCB图 六、Proteus仿真 七、程序源码 资料包括: 需要完整的资料可以点击下面的名片加下我,找我要资源压缩包的百度网盘下载地址及提取码…

作者头像 李华
网站建设 2026/9/2 13:26:51

用友BIP日志与监视全解析:五大模块助力运维排障

当我们日常维护用友BIP(YonBIP)这类大型企业数智化平台时,最怕的不是功能不会用,而是系统出了异常却不知道从哪里入手排查。任务跑失败、业务数据被误改、用户登录异常、系统响应变慢,这些问题如果只靠人工翻文件、看数…

作者头像 李华
网站建设 2026/9/2 13:23:25

Dynamix《Sunset Toybox》MEGA13攻略:双押与侧轨读谱系统练法

之前在 Dynamix 里挑战《Sunset Toybox feat.桃雛なの》的 MEGA13 谱面时,反复卡在双押断连、侧轨漏读和副歌段手忙脚乱这几个环节上。网上的讨论大多集中在分数截图和个别的躲避姿势,缺少一套能从零开始上手的完整思路。所以这篇文章决定把这首歌从背景…

作者头像 李华
网站建设 2026/9/2 13:21:18

3分钟把安卓手机投屏到电脑:scrcpy 免费投屏完整上手指南

3分钟把安卓手机投屏到电脑:scrcpy 免费投屏完整上手指南 【免费下载链接】scrcpy Display and control your Android device 项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy scrcpy 是一款免费开源的安卓投屏工具。它把手机屏幕实时投到电脑上&a…

作者头像 李华