我在Bash中有一个字符串:
string="My string"
如何测试它是否包含另一个字符串?
if [ $string ?? 'foo' ]; then
echo "It's there!"
fi
??
我不明的操作员在哪里。我是否使用echo和grep
?
if echo "$string" | grep 'foo'; then
echo "It's there!"
fi
看起来有点笨拙。
如果使用双括号,您也可以在案例语句之外使用Marcus的答案(*通配符):
string='My long string'
if [[ $string == *"My long"* ]]; then
echo "It's there!"
fi
请注意,针线中的空格必须放在双引号之间,而*
通配符应位于外部。另请注意,仅使用了一个简单的比较运算符(即==
),而不是regex运算符=~
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句