Один из наиболее распространенных и универсальных способов сделать это - передать строку в grep
и проверьте код возврата grep
. Оператор if
может проверять код выхода любой команды или конвейера:
if echo "$yesno" | grep -q "What'*s *going *on[?.]*"; then
В дополнение к указанным вами символам это также допускает 0 или более пробелов между словами.
Эта конструкция должна работать в OS X, FreeBSD, GNU / Linux и любой другой системе, которая предоставляет POSIX grep: