"Tütelchen"
Besser bekannt unter "Anführungszeichen" in den Ausführungen 'einfach' und "doppelt"
(doppelte Anführungszeichen werden auch gerne mal als Gänsefüßschen bezeichnet)
eine if für einen regulären Ausdruck sähe in etwa so aus:
AUSGABE="$(expr match 'tooolll' '[^o]*\(o\+\)[^o]*')"
if [ -n "$AUSGABE" ]; then
echo "Erf${AUSGABE}lg!!"
else
echo 'FAIL!'
fi
Wenn dir das Ergebnis des Ausdruckes nicht wichtig ist, kannst du die expr auch direkt ins if schreiben, allerdings würde ich dann die Standardausgabe auf /dev/null umleiten, damit dein Script keine Ausgaben generiert.
if expr match 'tooolll' '[^o]*\(o\+\)[^o]*' > /dev/null; then
P.S.: Viele denken, man müsste bei if immer [ irgendwas ] schreiben, das ist aber nicht zutreffen. Das [ ist keine Syntax sondern ein Programm - nämlich das Programm 'test' - siehe manpage.
//edit by me: Tipfehler im if-Beispile korrigiert: s/AUSGABE/AUFGABE/