Cómo comprobar si una cadena contiene una subcadena en Bash


Tengo una cadena en Bash:

string="My string"

¿Cómo puedo probar si contiene otra cadena?

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

Donde ?? es mi operador desconocido. ¿Utilizo echo y grep?

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

Eso parece un poco torpe.


Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32

Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52