我正在尝试查看一个字符串是否是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"
我要寻找的结果是,我想知道“ bla1”中何时存在“ bla”。
谢谢和亲切的问候,
帮帮我?
在bash中,您可以编写(注意星号在引号 之外 )
if [[ $t1 == *"$t2"* ]]; then echo "$t1 and $t2 are equal" fi
对于/ bin / sh,=运算符仅用于相等性,不适用于模式匹配。您可以使用case,虽然
=
case
case "$t1" in *"$t2"*) echo t1 contains t2 ;; *) echo t1 does not contain t2 ;; esac
如果您专门针对Linux,则假定存在/ bin / bash。