如何测试一个字符串是否包含鱼壳中的另一个字符串?
问题描述:
如何测试鱼壳中是否存在子串?例如,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风格的正则表达式。
我一直很感谢你的有关鱼壳的StackOverflow答案。 – Chris