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

embedded/2025/3/18 8:13:02/

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

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

bash">[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等或使用>、<、==无法对小数进行比较(仅支持整数)

bash">[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特殊字符面前\*、\>、\<

bash">[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.ppmy.cn/embedded/173531.html

相关文章

新能源汽车IGBT电压平台与SiC器件应用

一、引言 随着全球环保意识的增强和能源危机的加剧&#xff0c;新能源汽车&#xff08;包括纯电动汽车和插电式混合动力汽车&#xff09;市场迅速崛起。作为新能源汽车的核心动力系统&#xff0c;电机控制器在提升车辆性能、降低能耗方面发挥着至关重要的作用。目前&#xff0…

蓝桥杯:信号覆盖

本题的考点是模拟&#xff0c;我们通过枚举每个点与信号塔之间的距离&#xff0c;与半径进行比较&#xff0c;如果半径大于距离&#xff0c;那么该点可以被覆盖&#xff0c;计数器加一&#xff0c;由二维空间&#xff0c;两点之间的距离公式计算每个点与信号塔之间的距离double…

蓝桥杯刷题——第十五届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组

一、0握手问题 - 蓝桥云课 算法代码&#xff1a; #include <iostream> using namespace std; int main() {int sum0;for(int i49;i>7;i--)sumi;cout<<sum<<endl;return 0; } 直接暴力&#xff0c;题意很清晰&#xff0c;累加即可。 二、0小球反弹 - 蓝…

50个常用的DeepSeek提示词

50个常用的DeepSeek提示词 今天有小伙伴反馈&#xff0c;用过我分享过的DeepSeek 提示词后&#xff0c;文章爆了多篇10w,今天先开开胃&#xff0c;来50个常用的DeepSeek提示词 建议大家点赞收藏&#xff01; 信息处理与创作类 核心功能&#xff1a;整理、分析和重构信息 新…

CSS - Pseudo-classes(伪类选择器)

目录 一、介绍二、常用种类三、案例实现案例一&#xff1a;a标签使用link/visited/hover/active案例二&#xff1a;表单元素使用focus/disabled案例三、通过其余伪类实现元素灵活选中 一、介绍 CSS 伪类&#xff08;Pseudo-classes&#xff09; 用于定义元素的特定状态或结构位…

【嵌入式】ESP_01S智能家居:可二次开发式智能灯控/门禁,勾勒智能生活新图景

每文一诗 &#x1f4aa;&#x1f3fc; 操千曲而后晓声&#xff0c;观千剑而后识器。 ——《文心雕龙知音》 译文&#xff1a;掌握很多支乐曲之后才能懂得音乐&#xff0c;观察过很多柄剑之后才懂得如何识别剑器。 背景自述 由于最近搬了一个新的房间&#xff0c;来回的用钥匙开…

Java0317初尝试与报错

支付模块&#xff1a;27min讲了打开神秘开关 在前面讲了Data&#xff0c;NoArgsConstructor&#xff0c;AllArgsConstructor lombok技术 报错1 package com.itheima.demo; public class GoldCard extends Card { Override public void cost(double money){ //消费八折 setM…

C语言的软件工程

C语言的软件工程 引言 C语言作为一种历史悠久、功能强大的编程语言&#xff0c;在软件工程领域有着广泛的应用。自1972年由Dennis Ritchie开发以来&#xff0c;C语言凭借其高效性能、灵活性以及可移植性&#xff0c;成为了操作系统、嵌入式系统及高性能应用程序开发的首选语言…