Linux Shell Script - String Comparison with wildcards
我正在尝试查看一个字符串是否是shell脚本中另一个字符串的一部分()!BI/SH)。
我现在的代码是:
1 2 3 4 5 6 7 8 9 10 11 12 13 | #!/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"。
谢谢,谨致问候,
更新:我尝试了这里描述的"contains"函数:如何在UnixShell脚本中判断一个字符串是否包含另一个字符串?
以及bash中字符串包含的语法
但是,它们似乎与普通shell脚本(bin/sh)不兼容…
帮助?
在bash中,您可以编写(注意星号在引号之外)
1 2 3 | if [[ $t1 == *"$t2"* ]]; then echo"$t1 and $t2 are equal" fi |
对于/bin/sh,
1 2 3 4 | case"$t1" in *"$t2"*) echo t1 contains t2 ;; *) echo t1 does not contain t2 ;; esac |
如果您专门针对Linux,那么我假设存在/bin/bash。