我在 Bash 中有一个字符串:
string="My string"
如何测试它是否包含另一个字符串?
if [ $string ?? 'foo' ]; then echo "It's there!" fi
??我不知名的接线员在哪里。我使用echoandgrep吗?
??
echo
grep
if echo "$string" | grep 'foo'; then echo "It's there!" fi
这看起来有点笨拙。
如果您使用双括号,您也可以在 case 语句之外使用:
string='My long string' if [[ $string == *"My long"* ]]; then echo "It's there!" fi
注意针字符串中的空格需要放在双引号之间,*通配符应该在外面。另请注意,使用了一个简单的比较运算符(即==),而不是正则表达式运算符=~。
*
==
=~