昨天在定位一个bug的时候,需要些shell脚本,用到了字符串的比较,出了一个小问题,就搜索总结了一下。
第一种方法:-eq
对比字符串是否相等,我首先想到的就是 -eq,然而打印的结果不正确。各种echo后,就是字符串对比那里不对,我以为我记错了,还专门看了我记得笔记:
,
没错啊,就是-eq啊,括号格式的也都对,但是为什么结果不对呢,百度了一下,才明白怎么回事,原来是-eq只支持整数的比较,而我比较的是字符串,当然不行了。
第二种方法: =
这个就通用了,不管是字符串、整数、小数,都可以比较。
第三种方法: ==
与第二种发法结果一致,只是表达意思不一样。
还有就是小数的比较,也可以用awk或者bc。