字符串与通配符比较
我试图查看一个字符串是否是shell脚本中另一个字符串的一部分(#!bin / sh)。
我现在的代码是:
#!/bin/sh
#Test scriptje to test string comparison!
testFoo () {
        t1=$1
        t2=$2
        echo "t1: $t1 t2: $t2"
        if [ $t1 == "*$t2*" ]; then
                echo "$t1 and $t2 are equal"
        fi
}
testFoo "bla1" "bla"
我正在寻找的结果是,我想知道何时“bla”存在于“bla1”中。
感谢和亲切的问候,
更新:我已经尝试了两个“contains”函数,如下所述:如何判断一个字符串是否在Unix shell脚本中包含另一个字符串?
以及String中的语法包含在bash中
但是,它们似乎与普通的shell脚本(bin / sh)不兼容......
帮帮我?
在bash中你可以写(注意星号在引号外)
    if [[ $t1 == *"$t2"* ]]; then
            echo "$t1 and $t2 are equal"
    fi
  对于/ bin / sh, =运算符仅用于相等,不适用于模式匹配。  你可以使用case 
case "$t1" in
    *"$t2"*) echo t1 contains t2 ;;
    *) echo t1 does not contain t2 ;;
esac
如果你专门针对linux,我会假定存在/ bin / bash。
链接地址: http://www.djcxy.com/p/36203.html