0
i="text stack"
j="tex"
if [[ $(expr "$i" : "$j") -ne 0 ]];then
echo true
fi
案例2
i="text stack"
j="stac"
if [[ $(expr "$i" : "$j") -ne 0 ]];then
echo true
fi
情形3
i="text stack"
j="ext"
if [[ $(expr "$i" : "$j") -ne 0 ]];then
echo true
fi
它只能在案例1。在任何情况下,我怎样才能使它工作(并回显真实)?
+1适用于:始终使用内部bash功能而不是执行相同操作的外部命令,因为产生新进程会更加昂贵。然而,这个答案可以改进一点:使用'[[$ i == * $ j *]]'因为globs比regex更有效率。与此无关,没有必要在'[[]]内部引用,因为没有发生分词。 – jw013