如何测试一个字符串是否包含鱼壳中的另一个字符串?

问题描述:

如何测试鱼壳中是否存在子串?例如,switch表达式中:如何测试一个字符串是否包含鱼壳中的另一个字符串?

set myvar "a long test string" 
switch $myvar 
case magical-operator-here "test string" 
    echo 'yep!' 
case '*' 
    echo 'nope!' 
end 

*是通配符,所以

set myvar "a long test string" 
switch $myvar 
case "*test string" 
    echo 'yep!' 
case '*' 
    echo 'nope!' 
end 

如果你想测试是否结束以该字符串。如果它也可以出现在中间的某个地方,则在最后添加另一个*

此外,自2.3.0开始,鱼内部有string子命令,因此您也可以使用string match -q -- "*test string" $myvar。它还使用“-r”选项支持pcre风格的正则表达式。

+0

我一直很感谢你的有关鱼壳的*答案。 – Chris