当前位置: 首页 > news >正文

Bash shell四则运算

文章目录

    • 四则运算
      • 1. ‌expr 命令‌
      • 2. ‌$(( )) 表达式(推荐)‌
      • 3. ‌$[ ] 表达式(已弃用)‌
      • 4. ‌let 命令‌
      • 小数运算
      • i++ 和 ++i 区别

四则运算

算术运算:+ - * / %(取模,求余数)
Bash shell 中算术运算的四种主要方式及特点如下:

1. ‌expr 命令‌

需严格遵循空格规则,乘法符号 * 需转义为 \*:
r=`expr 4 + 5`      # 加法
r=`expr 4 \* 5`     # 乘法(需转义)
缺点:不支持乘幂运算(如 **)。

2. ‌$(( )) 表达式(推荐)‌

语法简洁,运算符(如 *)无需转义,支持乘幂 **:
r=$(( 4 + 5 ))      # 加法
r=$(( 2 ** 3 ))     # 乘幂(2的3次方)
优点:符合 POSIX 标准,操作符间空格灵活。

3. ‌$[ ] 表达式(已弃用)‌

语法类似 $(( )),但属旧式写法,部分新版 Bash 已不兼容:
r=$[ 4 * 5 ]        # 乘法
不推荐使用,建议优先选择 $(( ))

4. ‌let 命令‌

直接操作变量,支持自增/自减等简化表达式:
let n=5+3           # 加法
let n++             # 自增(等价于 n=n+1)
let "m = 4 * 2"     # 乘法(引号内表达式可含空格)n=2;let n=n**3  #2^3=8
echo $n

小数运算

shell不能做小数运算,做小数运算要装bc命令

echo 1+1.5|bc

在这里插入图片描述

i++ 和 ++i 区别

对变量的值没有影响
在这里插入图片描述
对表达式的值有影响
在这里插入图片描述

http://www.lqws.cn/news/89173.html

相关文章:

  • AD转嘉立创EDA
  • n8n 自动化平台 Docker 部署教程(附 PostgreSQL 与更新指南)
  • impala中更改公网ip为内网ip
  • 深入解析 Java 中的 synchronized:从使用到底层原理的全面详解
  • LRC and VIP
  • 数据挖掘顶刊《IEEE Transactions on Knowledge and Data Engineering》2025年5月研究热点都有些什么?
  • SQL思路解析:窗口滑动的应用
  • MyBatis 的动态 SQL
  • 华为数据之道 精读——【173页】读书笔记【附全文阅读】
  • 机器学习实战36-基于遗传算法的水泵调度优化项目研究与代码实现
  • Go语言学习-->从零开始搭建环境
  • 2024年认证杯SPSSPRO杯数学建模D题(第二阶段)AI绘画带来的挑战解题全过程文档及程序
  • AWS App Mesh实战:构建可观测、安全的微服务通信解决方案
  • 免费开源Umi-OCR,离线使用,批量精准!
  • 【设计模式-3.7】结构型——组合模式
  • BFS进阶刷题
  • 【使用】【经验】docker 清理未使用的镜像的命令
  • 【复习】软件测试
  • 【大模型:知识图谱】--1.py2neo连接图数据库neo4j
  • Ajax技术深度解析:从原理到现代Web开发实践
  • 让AI弹琴作曲不再是梦:Python+深度学习玩转自动化音乐创作
  • 61、ESB详解
  • MyBatis相关面试题
  • 【CBAP50技术手册】#34 Process Analysis(流程分析):业务分析师的“优化镜头”
  • 2025年06月03日Github流行趋势
  • C++和C#界面开发方式的全面对比
  • 爱果果H5素材网站
  • C++学习-入门到精通【13】标准库的容器和迭代器
  • rabbitMQ初入门
  • 【Kotlin】表达式关键字