shell 计算两个数据百分比,bc高级运算,bc计算系统磁盘剩余内存

发布时间:2024年01月06日

安装运算工具 bc

yum -y install bc

使用方法

echo $((10/3)) | bc

高级数学库 (直接把公式 给他即可)

echo $((2+4)) | bc -l

在这里插入图片描述

计算百分比

这里是 bc 的用法 也是计算了一个 66 /100 的百分比

	## scale=2 小数点后两位数
a=$( echo "scale=2; (66 / 100) * 100" | bc -l );echo $a\%
a=$(bc -l <<< "scale=2; (66 / 100) * 100");echo $a\%  # 把计算公式交给bc 去执行

在这里插入图片描述

计算内存已经使用的百分比

	# 获取已使
used_disk=$(df -T | grep "/dev/mapper/centos-root" | awk '{print $3}')
	# 获取未使
all_disk=$(df -T | grep "/dev/mapper/centos-root" | awk '{print $}')
    # 获取磁盘使用百分比
used_disk=$(df -T | grep "/dev/mapper/centos-root" | awk '{print $4}');all_disk=$(df -T | grep "/dev/mapper/centos-root" | awk '{print $5}');a=$(bc -l <<< "scale=2; ($used_disk / $all_disk) * 100");echo $a\%
# 计算未使用的百分比
used_disk=$(df -T | grep "/dev/mapper/centos-root" | awk '{print $4}'); all_disk=$(df -T | grep "/dev/mapper/centos-root" | awk '{print $5}'); a=$( bc -l <<< "scale=2; ( $all_disk - $used_disk )/ $all_disk"); echo $a\% # 这个时候,数字量太大了 无法计算

# 用1-减去 已经使用的小数
used_disk=$(df -T | grep "/dev/mapper/centos-root" | awk '{print $4}'); all_disk=$(df -T | grep "/dev/mapper/centos-root" | awk '{print $5}'); a=$( bc -l <<< "scale=2;  (1-$used_disk / $all_disk) * 100"); echo $a\%

在这里插入图片描述

计算圆周率

	# 1000位
echo "scale=10000;4 * a(1)" | bc -l
	# 只显示10位
echo "scale=10; 4*a(1)" | bc -l

在这里插入图片描述


本次分享完结

文章来源:https://blog.csdn.net/2301_79996063/article/details/135427393
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。