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

Bash中小数的大小比较以及if条件中小数的大小判断

1、在Bash中对小数进行大小判断时,需要使用bc命令进行判断,用-gt、-lt、-eq等或使用>、<、==运算符比较。

注意:用bc命令比较时,真返回1,假返回0

[root@Centos7-4 ~]# [ `echo "120.5 > 88.8" | bc` == 1 ]
[root@Centos7-4 ~]# echo $?
0
[root@Centos7-4 ~]# [ `echo "120.5 < 88.8" | bc` == 1 ]
[root@Centos7-4 ~]# echo $?
1
[root@Centos7-4 ~]#

2、仅使用-gt、-lt、-eq等或使用>、<、==无法对小数进行比较(仅支持整数)

[root@Centos7-4 ~]# [ 120.4 -gt 110 ]
-bash: [: 120.4: integer expression expected
[root@Centos7-4 ~]#
[root@Centos7-4 ~]# [ 120 -gt 110 ]
[root@Centos7-4 ~]# echo $?
0
[root@Centos7-4 ~]#

3、使用expr命令也不能进行小数比较(仅支持整数)

expr命令仅支持对整数的大小比较,不支持小数比较,真返回1,假返回0

expr命令书写规则:

用空格隔开每一项;

用反斜杠\放在shell特殊字符面前\*、\>、\<

[root@Centos7-4 ~]# echo `expr 10 \> 4`
1
[root@Centos7-4 ~]# echo `expr 10 \> 20`
0
[root@Centos7-4 ~]#

## 比较错误 
[root@Centos7-4 ~]# echo `expr 100.5 \> 20.3`
0
[root@Centos7-4 ~]#


http://www.kler.cn/a/594355.html

相关文章:

  • 将有序数组转换为二叉搜索树 力扣108
  • 什么是 React Router?如何使用它?
  • Web-Machine-N7靶机通关攻略
  • 技术速递|.NET AI 模板现已提供预览版
  • 用Ollama部署大语言模型
  • Spring MVC 拦截器使用
  • Linux系统上后门程序的原理细节,请仔细解释一下
  • Excel处理控件Spire.XLS系列教程:C# 在 Excel 中添加或删除单元格边框
  • 编码器线:精准连接,高效传动,引领未来科技的脉动
  • “三带一”算法题
  • Python八字排盘系统实现分析
  • 【vulhub/wordpress靶场】------获取webshell
  • 音视频之H.265码流分析及解析
  • SpringBoot第四站(1):数据层开发: 配置数据源,整合jdbcTemplate
  • Node.js技术原理分析系列6——基于 V8 封装一个自己的 JavaScript 运行时
  • STM32 模拟SPI 模式0
  • 【数据结构】单源最短路径dijkstra算法描述及模板
  • 【Linux】信号:产生信号
  • Unity 接入抖音小游戏
  • 低代码与在线教育系统源码:企业内训平台开发的新思路