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 进行整数相等比较。
  • 始终在变量周围加双引号以处理空值。
  • 对于浮点数,请使用 bcawk 或 配合浮点运算。

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

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

相关推荐

  • linux邮局怎么搭建,如何配置邮件服务器?

    在Linux系统上搭建自建邮局,是当前企业实现邮件系统自主可控的最佳选择,但只有正确配置DNS记录和邮件认证协议,才能确保邮件送达率, 无论是初创团队还是中大型企业,Linux邮局凭借开源免费、安全稳定、高度灵活等特性,成为邮件系统搭建的主流方案,本文将从零开始,详细解读Linux邮局的搭建步骤、安全配置以及常……

    2026年7月18日
    800
  • 简米云服务器2M下载速度够用吗,值得买吗

    阿里云服务器2M带宽的下载速度理论峰值约为256KB/s,实际使用中因网络开销和延迟,通常稳定在200-250KB/s之间,带宽与下载速度的换算逻辑很多新手容易混淆Mbps和MB/s,2Mbps指的是2兆比特每秒,而下载速度常用MB/s或KB/s,1字节等于8比特,所以2Mbps除以8等于0.25MB/s,即2……

    2026年8月20日
    900
  • s3服务器多少钱一台,2026年租用价格贵不贵

    一台S3对象存储服务器的实际成本,按容量和流量需求不同,每年从几百元到数万元不等,多数中小项目把月预算控制在500元以内就能起步,真正影响价格的不是“服务器”本身,而是存储容量、外网流量、请求次数和冗余策略这四个维度,接下来把账算明白,顺带聊聊怎么选服务商才不踩坑,云S3和自建S3,成本逻辑完全不同很多人问“S……

    2026年8月22日
    100
  • 校园网DNS是否配置服务器,设置多少最快最好

    校园网DNS配置并非强制选项,但建议进行手动设置,从速度角度,在多数校园网环境下,首选腾讯DNS(119.29.29.29)或阿里DNS(223.5.5.5)能获得较快的解析表现,具体需结合本地网络测试,为什么校园网需要配置DNSDNS(域名系统)负责将你输入的网址转换为服务器IP地址,校园网用户通常默认使用学……

    2026年8月19日
    500
  • 安徽中国电信DNS服务器地址是多少,怎么设置

    安徽中国电信的DNS服务器地址通常为主用202.102.192.68,备用202.102.199.68,用户可直接在路由器或电脑的网络设置中填入,以获得省内最快的解析响应,安徽电信DNS地址详解什么是DNS及其重要性DNS(域名系统)是互联网协议中负责域名与IP地址转换的服务,当我们访问一个网站时,DNS服务器……

    2026年8月12日
    1000
  • linux sleep如何实现?linux sleep命令参数详解

    Linux中的sleep命令本质上是让进程进入不可中断或可中断的休眠状态,从而暂停执行指定时间,它是脚本控制节奏和系统资源调度的核心工具,在Linux系统运维和自动化脚本编写中,时间控制是不可或缺的一环,无论是等待服务启动、轮询任务状态,还是避免CPU空转,linux sleep 实现机制都扮演着关键角色,很多……

    2026年7月10日
    13100
  • 贵州电信宽带DNS服务器地址是多少?,怎么设置?

    贵州电信宽带用户最常用的DNS服务器地址是主DNS: 202.98.0.68,备用DNS: 202.98.5.68,这两个地址由电信官方提供,稳定性和响应速度都经过长期验证,适合绝大多数家庭和办公宽带使用,如果你正在被网页加载慢、视频卡顿或者部分网站无法访问等琐事困扰,很可能就是DNS设置出了问题,下面我会从D……

    2026年8月19日
    300
  • 电源570w的服务器一天需要多少度电,电费贵吗

    一台电源额定功率570W的服务器,在满负荷运行状态下,一天的理论耗电量约为13.68度,但实际日常使用中多在8-12度之间,耗电量并非固定值,它取决于负载率、电源转换效率、环境散热以及硬件配置,下面帮你拆解这笔电费账,并给出可验证的计算与优化方法,服务器电源570w一天多少度电?理论计算与实际差异理论计算公式……

    2026年7月24日
    500
  • linux内存对齐是什么?为什么要进行内存对齐

    Linux内存对齐的核心在于通过填充字节使数据结构成员满足特定对齐要求,从而提升CPU访问内存的效率并避免硬件异常,通常遵循“结构体整体大小必须是最大成员对齐值的整数倍”这一黄金法则,在Linux系统编程中,内存对齐不仅仅是一个编译器选项,它是连接高级语言逻辑与底层硬件架构的桥梁,当你在C/C++中定义一个结构……

    2026年7月8日
    18700
  • 150m服务器租用一个月多少钱,怎么选择?

    150M带宽服务器的月租价格通常在800元到3000元之间,具体取决于线路类型、硬件配置和服务商资质,这个区间覆盖了从入门级共享带宽到高性能独享方案的场景,但实际选择时不能只看价格,还得结合业务需求和服务商背景,影响150M服务器月租的核心因素带宽类型:独享还是共享大部分用户搜索150M服务器时,默认指的是……

    2026年7月26日
    200

发表回复

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