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

shell加减乘除运算

1. 整数的加减乘除

1. 方括号
#!/bin/bash
var1=$[1+3]
var2=$[3-1]
var3=$[3*2]
var4=$[4/2]
var5=$[$var1+$var2]
2. 双小括号
#!/bin/bash
var1=$((1+3))
var2=$((3-1))
var3=$((3*2))
var4=$((4/2))
var5=$(($var1+$var2))

以上两种方法可以实现shell中的加减乘除运算,运算符两边有没有有没有空格都可以正常计算,但是不能进行小数的运算。

2. 小数的加减乘除

1. 使用bc
  1. 加法
    运算结果的小数位数以相加数中最大位数为准,不可以用scale自定义结果小数位数。
#!/bin/bash
var1=$(echo "1.23+2.444" | bc)
  1. 减法
    运算结果的小数位数以相减数中最大位数为准,不可以用scale自定义结果小数位数。
#!/bin/bash
var1=$(echo "3.2-2.444" | bc)
  1. 乘法
    运算结果的小数位数以相乘数中最大位数为准,可以用scale自定义结果小数位数,但是只有scale给定的位数大于乘数中的最大位数,且小于计算结果的实际位数时生效。
#!/bin/bash
var1=$(echo "3.2*2.444" | bc)
var2=$(echo "scale-2;3.2*2.444" | bc)
  1. 除法
    运算结果为整数部分,小数直接切割舍掉;可以用scale自定义结果小数位数,小数位数保留为截取至指定位数,不够位数则补0。
#!/bin/bash
var1=$(echo "5/2" | bc)
2. 使用awk(四舍五入完成小数的计算)
  1. awk直接进行计算
a=2
b=3
c=$(awk 'BEGIN{print "'$a'" / "'$b'"}')
0.666667
  1. awk控制小数位数(四舍五入)
a=2
b=3
c=$(echo "$a $b" |awk '{printf("%.2f",$1/$2)}') 
#首先使用echo输出变量,然后通过$1,$2,...引用变量值
0.67			

http://www.mrgr.cn/news/80785.html

相关文章:

  • [BJDCTF2020]ZJCTF,不过如此 1
  • 数据库的备份与恢复mysqldump使用和mysqlbinlog使用
  • Redis 持久化揭秘:选择 RDB、AOF 还是混合持久化?
  • cocos creator制作2dTop-down游戏(虚拟摇杆、地图加载)
  • 多功能护照阅读器港澳通行证阅读机RS232串口主动输出协议,支持和单片机/Linux对接使用
  • nginx 记录完整的 request 及 response
  • 电感的基本概念
  • [创业之路-199]:《华为战略管理法-DSTE实战体系》- 3 - 价值转移理论与利润区理论
  • Nautilus源码编译傻瓜式教程二
  • 实操给桌面机器人加上超拟人音色
  • C++算法第十一天
  • Autosar入门_汽车电子控制器
  • [SAP ABAP] ALV报表练习1
  • 第六周作业
  • 社区版 IDEA 开发webapp 配置tomcat
  • 粘包由应用层协议解决
  • iClent3D for Cesium 实现无人机巡检飞行效果
  • 代码生成器
  • 基于 PyCharm 和 Navicat 的新闻管理系统
  • 51c视觉~合集36
  • React+Vite从零搭建项目及配置详解
  • 我的性能优化经验
  • Centos创建共享文件夹拉取文件
  • 面试题整理9----谈谈对k8s的理解1
  • 记一次pfring在目标机器上出现Illegal instruction.的修复过程
  • Android Binder 进程间通信