如何在Bash Linux中比较字符串?

就像我们通常使用的 bash 为了执行命令。但是由于bash是一个编程环境,所以我们有其他与编程相关的特性。我们可以比较字符串,其中这些字符串是一些命令的输出或错误。在本教程中,我们将研究Bash Linux中字符串比较的不同用例。

null

与平等相比

比较字符串最常用的例子是比较相等性。我们可以逐个比较两个字符串是否相等,然后根据结果返回一些值或字符串。在本例中,我们将检查两个字符串变量 $s1 $s2 并以字符串形式返回结果 EQUAL NOTEQUAL . 我们将使用 == 用于字符串相等性检查。 -eq 将不起作用,因为它只用于数字或整数。

s1='poftut's2='poftut'if [ "$s1" == "$s2" ] ; then echo "EQUAL"; fi
Compare with Equality
与平等相比

比较是否不相等

我们可以用 not 这种逻辑很有用,就像密码检查一样。我们将检查存储的密码和提供的密码。我们将使用 != 作为不等式算子。

password="secret"read provided_passwordif [ "$password" != "$provided_password" ] ; then echo "Wrong Password"; fi
Compare For Not Equal
比较是否不相等

如我们所见,提供的密码与 secret 我们打印 Wrong Password 到屏幕上。

在实例中比较大小写

而比较字符串的大小写敏感性是重要的因素。默认行为是比较区分大小写的字符串,但在某些情况下,我们可能需要比较它们不区分大小写。我们可以使用bash提供的 nocasematch 功能。此功能将完全禁用bash的区分大小写功能。

shopt -s nocasematchs1='poftut's2='PoftuT'[[ "$s1" == "$s2" ]] && echo "EQUAL" || echo "NOT EQUAL"
Compare Case-Insenstive
在实例中比较大小写

相关文章: 如何在Bash中提示输入

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享