为了账号安全,请及时绑定邮箱和手机立即绑定

我之前写 shell script 时在这个地方出过错, 一直没有弄明白.

我之前写 shell script 时在这个地方出过错, 一直没有弄明白.

慕沐林林 2023-04-16 10:06:31
有没有这样的限制:-eq: 适用于或偏向于 "数字相等"= : 选用于或偏向于 "字符串相等"Bash shell 中 "-eq" 与 "=" 等价吗?
查看完整描述

2 回答

?
Helenr

TA贡献1780条经验 获得超3个赞

RTFM

$ man test
       STRING1 = STRING2              the strings are equal

       STRING1 != STRING2              the strings are not equal

       INTEGER1 -eq INTEGER2
              INTEGER1 is equal to INTEGER2


查看完整回答
反对 回复 2023-04-20
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

准确来说是适用对象不同:
-eq 和 = 都可以用来条件测试进行判断两个操作对象是否相同,但是有如下区别:
-eq 适用于整数数字,不能进行字符串的条件测试
= 既适用于数字,又适用于字符串。
我做了下测试:

$ [ 1 -eq 1 ] && echo "ok"ok
$ [ 1 = 1 ] && echo "ok"ok
$ [ "a" -eq "a" ] && echo "ok"sh: [: a: 需要整数表达式
$ [ "a" = "a" ] && echo "ok"ok


查看完整回答
反对 回复 2023-04-20
  • 2 回答
  • 0 关注
  • 131 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信