用于检查字符串是否包含某些内容的Shell脚本

Shell script to check if a string contains something

我有下面的shell脚本。

1
2
3
4
5
6
7
  if ["$group" =="First*" ]]
  then
            [email protected]
  elif ["$group"  =="Second*" ]]
  then
           [email protected]
  fi

如果$group中包含第一个或第二个语句,它不会抛出任何错误,但不会正确执行if语句。有人能告诉我哪里出了问题吗?


你也可以考虑一份关于效率的case声明:

1
2
3
4
5
6
7
8
case"$group" in
First*)
    [email protected]
    ;;
Second*)
    [email protected]
    ;;
esac

您还可以为默认操作添加*) ... ;;


当我们使用双引号时,通配符不会保留…检查条件是寻找精确的"第一个*"和"第二个*"匹配。

按以下方式更改代码

1
2
3
4
5
6
7
if [["$group" == First* ]]
   then
        [email protected]
   elif [["$group"  == Second* ]]
   then
       [email protected]
   fi


删除报价单""并完成

1
2
3
4
5
6
7
if ["$group" == First* ]
then
        [email protected]
 elif ["$group"  == Second* ]
 then
       [email protected]
 fi