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

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.lryc.cn/news/2400653.html

相关文章:

  • (javaSE)Java数组进阶:数组初始化 数组访问 数组中的jvm 空指针异常
  • 力扣刷题Day 70:在排序数组中查找元素的第一个和最后一个位置(34)
  • vue 多端适配之pxtorem
  • 图片压缩工具 | 图片属性详解及读取解析元数据
  • React---day8
  • C# Onnx 动漫人物人脸检测
  • C++内存列传之RAII宇宙:智能指针
  • PVE 虚拟机安装 Ubuntu Server V24 系统 —— 一步一步安装配置基于 Ubuntu Server 的 NodeJS 服务器详细实录1
  • GitHub 趋势日报 (2025年06月03日)
  • 出现dev/nvmeOnip2 contains a file system with errors, check forced 解决方法
  • Vue3.5 企业级管理系统实战(二十二):动态菜单
  • 磨皮功能 C++/C的OpenCV 实现
  • 蓝牙防丢器应用方案
  • TDengine 开发指南——高效写入
  • Linux kill 暂停命令
  • Unity与Excel表格交互热更方案
  • LVS、NGINX、HAPROXY的调度算法
  • C++ 使用 ffmpeg 解码本地视频并获取每帧的YUV数据
  • 分布式微服务系统架构第143集:pom文件
  • 2.0 阅读方法论与知识总结
  • 5. Qt中.pro文件(1)
  • 第八部分:第三节 - 事件处理:响应顾客的操作
  • 共识机制全景图:PoW、PoS 与 DAG 的技术对比
  • 学习笔记085——Spring Data JPA笔记
  • 可视化大屏工具对比:GoView、DataRoom、积木JimuBI、Metabase、DataEase、Apache Superset 与 Grafana
  • 内网穿透:打破网络限制的利器!深入探索和简单实现方案
  • 如何选择合适的哈希算法以确保数据安全?
  • 简数采集技巧之快速获取特殊链接网址URL方法
  • React 性能监控与错误上报
  • AI 如何改变软件文档生产方式?