如何在Bash中的'if'语句中比较两个字符串变量?
#!/bin/bash
s1="hi"
s2="hi"
if ["$s1" == "$s2"]
then
echo match
fi
我尝试了各种形式的if
语句,使用[["$s1" =="$s2"]]
,有引号和无引号,使用=
,=
和eq
,但我仍然得到以下错误。
[嗨:未找到命令
我看了各种网站和教程,并复制了那些内容,但没有效果--我做错了什么?
最终,我想说如果$s1
包含$s2
,那么我怎样才能做到这一点?
我刚刚解决了空格的问题... :/ 我怎么说包含呢?
我试过
if [[ "$s1" == "*$s2*" ]]
但它没有发挥作用。
568
3
你需要空间。
我建议。
不加双引号,只加一个等号。
我现在没有机会接触到linux盒子,但[实际上是一个程序(也是bash的一个内置程序),所以我认为你必须在[和第一个参数之间加一个空格。
还要注意的是,字符串平等运算符似乎是一个单一的=。