如何测试一个字符串是否包含 fish shell 中的另一个字符串?
How can I test whether a string contains another string in fish shell?
如何测试 fish shell 中是否存在子字符串?例如,在 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 开始,fish 有一个 string
内置命令和 match
子命令,所以你也可以使用 string match -q -- "*test string" $myvar
。它还支持带有“-r”选项的 pcre 风格的正则表达式。
如何测试 fish shell 中是否存在子字符串?例如,在 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 开始,fish 有一个 string
内置命令和 match
子命令,所以你也可以使用 string match -q -- "*test string" $myvar
。它还支持带有“-r”选项的 pcre 风格的正则表达式。