linux下"="号与"=="号

bash中'='与'=='的区别及实验验证
本文详细探讨了在bash脚本中使用'='与'=='进行变量比较的区别,并通过实验展示了实际应用中的不同表现。实验环境设置为Ubuntu 3.5.0-43-generic,演示了在不同情况下两者之间的行为差异。
《鸟哥的linux私房菜》基础学习篇P382中说,在bash中"="与"=="是同样的,都代表推断是否相等,仅仅只是因为其它语言一般写法使用"=="。因此建议使用后者。

</p><p>可是实验时,二者还是有所不同。环境为ubuntu,3.5.0-43-generic #66~precise1-Ubuntu SMP Thu Oct 24 14:55:08 UTC 2013 i686 i686 i386 GNU/Linux。

  1 a=""
  2 b=""
  3 if [ "$a" == "$b" ]
  4 then 
  5     echo "=="
  6 else
  7     echo "!="
  8 fi
若使用"=="。则会报错例如以下:

sh t2.sh 
t2.sh: 3: [: unexpected operator
!=


假设使用"="。则通过:

[arthur@E430 ~/workspace/test]$sh t2.sh 
==


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值