shell 编程:if判断字符串是否相等

本文通过示例详细解释了在Bash Shell脚本中,使用`=`与`==`进行条件判断时的微妙区别,特别是涉及到字符串比较时,空格的重要性。错误的用法可能导致逻辑错误,影响脚本执行结果。同时,展示了正确使用条件判断的关键点,帮助读者避免常见的陷阱。
摘要由CSDN通过智能技术生成

使用if中使用= 与==是一样的效果,但是两边要留有空格,不然会是赋值!

#! /bin/bash
module="admock"
echo "$module"=="adauto"
if [ "$module"x == "adauto"x ]
then
    module_name="dddd"
else
   module_name="tttt"
fi
echo $module_name

最后打印:

MVAD: [yxx@svn2ss] ~$ ./test2.sh
admock==adauto
tttt

注意:

没有空格就是如下结果:

MVAD: [yxx@svn2ss] ~$ ./test2.sh
admock==adauto
dddd
MVAD: [yxx@svn2ss] ~$

=与==是同样效果:

#! /bin/bash
module="admock"
echo "$module"=="adauto"
if [ "$module"x = "adauto"x ]
then
    module_name="dddd"
else
   module_name="tttt"
fi
echo $module_name

结果:

MVAD: [yxx@svn2ss] ~$ ./test2.sh
admock==adauto
tttt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值