Linux shell中-eq怎么使用?shell脚本比较运算符有哪些

在 Linux Shell(特别是 Bash)中,-eq 是一个用于整数比较的测试运算符。

基本用途

-eq 用于判断两个整数是否相等。

linux shell 脚本 if条件判断语句简单用法讲解
加载中
linux shell 脚本 if条件判断语句简单用法讲解
  • 如果相等,返回退出状态码 0(表示“真”/成功)。
  • 如果不相等,返回退出状态码 1(表示“假”/失败)。

语法格式

✅ 推荐方式:使用 [[ ... ]] 或 [ ... ]

if [ $a -eq $b ]; then
    echo "a 等于 b"
fi

或更现代的写法(Bash 推荐):

if [[ $a -eq $b ]]; then
    echo "a 等于 b"
fi

❌ 不推荐:使用 算术上下文

Linux shell中-eq怎么使用?shell脚本比较运算符有哪些

在 中,直接使用 或 ,而不是 -eq:

if (( a == b )); then
    echo "a 等于 b"
fi

重要注意事项

⚠️ -eq 仅用于整数

-eq 只能比较整数,如果尝试比较浮点数(如 14),会报错:

$ [ 3.14 -eq 3.14 ]
bash: [: 3.14: integer expression expected

⚠️ 变量必须正确引用

如果变量可能为空,务必使用双引号包裹变量,避免语法错误:

# $a 为空,[ -eq 5 ] 会报错
[ "$a" -eq 5 ]  # ✅ 安全写法

⚠️ 与 的区别

Linux shell中-eq怎么使用?shell脚本比较运算符有哪些

  • -eq:用于整数相等比较。
  • 用于字符串相等比较(在 [ ] 或 [[ ]] 中)。
    [ "hello" == "hello" ]  # ✅ 字符串比较
    [ 5 -eq 5 ]             # ✅ 整数比较

其他常用整数比较运算符

Linux shell中-eq怎么使用?shell脚本比较运算符有哪些

运算符 含义 示例
-eq 等于 [ $a -eq $b ]
-ne 不等于 [ $a -ne $b ]
-gt 大于 [ $a -gt $b ]
-ge 大于等于 [ $a -ge $b ]
-lt 小于 [ $a -lt $b ]
-le 小于等于 [ $a -le $b ]

完整示例

#!/bin/bash
num1=10
num2=20
if [ $num1 -eq $num2 ]; then
    echo "num1 等于 num2"
else
    echo "num1 不等于 num2"
fi
# 输出: num1 不等于 num2
  • 使用 -eq 进行整数相等比较。
  • 始终在变量周围加双引号以处理空值。
  • 对于浮点数,请使用 bc、awk 或 配合浮点运算。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/487433.html

赞 (0)
服务器和客户端连接超时如何解决?如何排查网络连接故障
上一篇 2026年7月12日 15:13
为什么禁止访问?如何安全访问被屏蔽网站
下一篇 2026年7月12日 15:15

相关推荐

  • 5G服务器一年要多少钱,哪个品牌最值得买?

    5G服务器的年租赁费用并不是一个固定数字,它会根据配置、带宽、线路和服务等级的不同从几千元到几十万元不等,对于大多数中小企业来说,选择一台入门级云服务器年费通常在3000元到8000元之间,而高性能物理服务器则可能超过5万元,影响5G服务器年费的核心因素一台5G服务器一年花多少钱,主要取决于以下几个变量,了解它……

    2026年8月17日
    700
  • linux wss连接失败怎么办?,怎么解决?

    在Linux上配置WSS(WebSocket Secure)是保障WebSocket通信安全的唯一生产级方案,核心思路是通过TLS证书加密WebSocket流量,实现方式多样,但以Nginx反向代理最为成熟,为什么Linux环境必须使用WSS而非WS明文WS的致命缺陷WebSocket协议本身不加密,所有数据以……

    2026年7月18日
    2700
  • 阿里服务器1Mbps能承受多少人,带宽不够怎么办?

    阿里云服务器1Mbps带宽,在绝大多数场景下,大约只能同时承受1到5个用户顺畅访问,若页面包含大量图片或视频,这个数字会直接降为1,许多新手站长在购买服务器时,看到1Mbps带宽觉得“够用”,实际运行时才发现网页加载如蜗牛,本文将从带宽的底层原理出发,结合真实行业参数与白皮书数据,为你拆解1Mbps的真实承载能……

    2026年9月8日
    300
  • 左江服务器一台需要多少钱,服务器租用一年多少钱?

    左江服务器没有全国统一零售价,也没有标准一口价,单台价格取决于CPU型号、内存容量、存储方案、国产化模块、质保年限和采购数量,参考同类国产信创服务器公开采购行情,单台成交价多数落在数万元到十余万元区间,最终必须按BOM清单和项目批量重新核价,左江服务器为什么没有统一报价它更接近定制整机,不是标品左江服务器常见于……

    相关资讯 2026年9月11日
    000
  • 云服务器一小时多少钱

    云服务器按小时计费的价格通常在0.01元到5元之间,具体取决于配置、带宽和机房等级,对于短期测试或弹性业务,按小时付费能有效降低成本,但长期使用建议选择包年包月以获得更优单价,影响云服务器一小时价格的关键因素云服务器按小时计价不是固定数字,而是由多个变量共同决定,了解这些因素,才能避免花冤枉钱,配置:CPU、内……

    2026年8月23日
    400
  • linux任意字符怎么输入?linux命令中特殊字符转义方法

    Linux中处理任意字符的核心在于理解Shell的转义机制与引号规则,通过单引号、双引号、反斜杠及通配符的灵活组合,即可精准控制特殊字符的解析行为,在Linux系统日常运维与脚本开发中,”任意字符”的处理往往是新手最容易踩坑的环节,这里的“任意字符”不仅指普通的字母数字,更涵盖了空格、引号、星号、问号、美元符号……

    2026年7月5日
    7200
  • 如何正确使用Linux调试器,有哪些推荐?

    Linux调试器是程序员对抗代码崩溃最锋利的武器,而GDB作为它的代名词,能帮你精准定位绝大多数运行时故障——关键是掌握正确的使用路径,linux debugger 调试C++程序的核心方法很多人以为调试C++程序就是打个断点看看变量,实际操作起来远不止这么简单,试想你维护着一个几十万行的服务端程序,内存越界导……

    2026年7月15日
    700
  • 英雄联盟在全世界有多少服务器?,国服外服有哪些?

    英雄联盟在全球并没有一个固定不变的服务器总数,Riot官方将服务划分为十余个核心区域节点,加上腾讯、Garena等代理商拆分的大区,实际可登录服务器通常有几十个,具体数量随版本和区域策略动态调整, 所以讨论“lol在世界有多少个服务器”时,先要分清统计口径:是按拳头直营区域算,还是把代理商拆出的大区也算进去,全……

    相关资讯 2026年9月17日
    100
  • 8c32g服务器到底能处理多少QPS?,性能够用吗?

    对于多数Web应用,一台8c32g配置的服务器在合理优化下,可支撑的QPS(每秒查询数)通常在2000到10000之间,具体取决于应用类型、架构设计及代码质量, 这个范围跨度很大,因为QPS不是单一硬件参数能决定的,但它是一个有参考意义的基准线,理解QPS与服务器配置的关系QPS,即每秒查询数,是衡量服务器处理……

    2026年8月23日
    400
  • 服务器最多能识别多少个USB设备,usb设备识别数量限制?

    一台标准的x86服务器,在硬件和操作系统配置得当的情况下,通常能稳定识别并管理128到256个USB设备,但受限于PCIe通道数、USB控制器数量和内核驱动上限,实际生产中建议控制在64个以内以保证稳定性, 这个数字并非凭空而来,而是由芯片组规范、操作系统内核参数以及设备供电能力共同决定的,服务器USB识别的理……

    2026年8月27日
    700

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注