一尘不染

如何检查字符串是否包含Bash中的子字符串

javascript

我在 Bash 中有一个字符串:

string="My string"

如何测试它是否包含另一个字符串?

if [ $string ?? 'foo' ]; then
  echo "It's there!"
fi

??我不知名的接线员在哪里。我使用echoandgrep吗?

if echo "$string" | grep 'foo'; then
  echo "It's there!"
fi

这看起来有点笨拙。


阅读 129

收藏
2022-01-21

共1个答案

一尘不染

如果您使用双括号,您也可以在 case 语句之外使用:

string='My long string'
if [[ $string == *"My long"* ]]; then
  echo "It's there!"
fi

注意针字符串中的空格需要放在双引号之间,*通配符应该在外面。另请注意,使用了一个简单的比较运算符(即==),而不是正则表达式运算符=~

2022-01-21