Shell整数和小数运算

目录

一.整数运算

方法一:expr

[方法二 :(())](#方法二 :(()))

[方法三:\[\]](#方法三:[])

[方法四 :let](#方法四 :let)

二.小数运算


一.整数运算

方法一:expr

bash 复制代码
#数学运算:
expr 5 + 3    # 输出结果为8
expr 10 - 4   # 输出结果为6
expr 2 * 6    # 输出结果为12
expr 15 / 3   # 输出结果为5
#逻辑运算:
expr 5 \> 3    # 输出结果为1,表示5大于3
expr 2 \<= 1   # 输出结果为0,表示2不小于等于1
expr 7 == 7    # 输出结果为1,表示7等于7
expr 9 != 8    # 输出结果为1,表示9不等于8
#字符串处理
expr length "Hello, World!"        # 输出结果为13,表示字符串的长度为13
expr substr "Hello, World!" 7 5    # 输出结果为"World",表示从第7个字符开始提取长度为5的子串
expr match "abcdefg" "a.*f"        # 输出结果为7,表示匹配成功,并且匹配到的子串长度为7

方法二 :$(())

bash 复制代码
echo $((10 - 4))   # 输出结果为6
echo $((2 * 6))    # 输出结果为12
echo $((7 % 3))    # 输出结果为1,表示7除以3的余数为1
echo $((2 ** 3))   # 输出结果为8,表示2的3次方等于8

方法三:$[]

bash 复制代码
echo $[5+2]       #输出结果为 7
echo $[5**2]      #输出结果为 25,即 5 的平方

方法四 :let

bash 复制代码
#!/bin/bash

let a=5+3
echo "a = $a" # 输出 a = 8

let b=10-2
let c=b*3
echo "c = $c" # 输出 c = 24

let d=15/3
let e=d%2
echo "e = $e" # 输出 e = 1

二.小数运算

在 Shell 脚本中,执行小数运算通常需要使用 bc 命令,它是一个用于数学计算的命令行工具,支持小数运算。

bash 复制代码
#!/bin/bash

# 设置精度为小数点后两位
scale=2

# 定义两个小数变量
a=3.14
b=2.73

# 使用 bc 进行加法运算
sum=$(echo "$a + $b" | bc)
echo "Sum: $sum" # 输出 Sum: 5.87

# 使用 bc 进行减法运算
difference=$(echo "$a - $b" | bc)
echo "Difference: $difference" # 输出 Difference: 0.41

# 使用 bc 进行乘法运算
product=$(echo "$a * $b" | bc)
echo "Product: $product" # 输出 Product: 8.57

# 使用 bc 进行除法运算
quotient=$(echo "scale=4; $a / $b" | bc)
echo "Quotient: $quotient" # 输出 Quotient: 1.1500
相关推荐
轻松Ai享生活3 小时前
5 节课深入学习Linux Cgroups
linux
christine-rr4 小时前
linux常用命令(4)——压缩命令
linux·服务器·redis
三坛海会大神5554 小时前
LVS与Keepalived详解(二)LVS负载均衡实现实操
linux·负载均衡·lvs
東雪蓮☆4 小时前
深入理解 LVS-DR 模式与 Keepalived 高可用集群
linux·运维·服务器·lvs
乌萨奇也要立志学C++5 小时前
【Linux】进程概念(二):进程查看与 fork 初探
linux·运维·服务器
獭.獭.6 小时前
Linux -- 信号【上】
linux·运维·服务器
hashiqimiya6 小时前
centos配置环境变量jdk
linux·运维·centos
hashiqimiya6 小时前
权限更改centos中系统文件无法创建文件夹,使用命令让普通用户具备操作文件夹
linux
逆小舟10 小时前
【Linux】人事档案——用户及组管理
linux·c++
青草地溪水旁10 小时前
pthread_mutex_lock函数深度解析
linux·多线程·pthread