Wie man in Bash Strings partiell vergleicht

Bash Stringvergleiche sind einfach :

if [ "$a" == "$b" ]; then 
          echo "gleich"
fi

Aber manchmal will man ja was auch nur Teilmengen vergleichen. Dazu braucht man die Doppelklammer und die Wildcards:

if [[ "$CERTNAME" == *"$HOSTNAME"* ]]; then
        echo "Teilvergleich erfolgreich"
fi

Wenn also HOSTNAME ein Teil von CERTNAME ist, dann trifft das obige zu. Wenn man == durch != ersetzt, kann man das Gegenteil abfragen. Es gibt aber noch einen anderen Weg, über RegExpressions:

if [[ "$CERTNAME" =~ .*$HOSTNAME.* ]]; then
   echo "RegExp ist gültig"
fi

Das hat den Vorteil, daß es auch etwas komplizierteres sein darf:

if [[ "$A" =~ .*(ab|vom).* ]]; then

Viel Spaß damit.