Ich möchte prüfen, ob eine Variable ein gültiges Jahr mit einem regulären Ausdruck hat. Lesen Sie die bash manual Ich verstehe, ich könnte den Operator verwenden = ~Wie verwende ich reguläre Ausdrücke in Bash-Skripten?
Betrachtet man das Beispiel unten, würde ich erwarten, "nicht OK" zu sehen, aber ich sehe "OK". Was mache ich falsch?
i="test"
if [ $i=~"200[78]" ]
then
echo "OK"
else
echo "not OK"
fi
möglich Duplikat [bash regex mit Zitaten?] (Http: // stackoverflow.com/questions/218156/bash-regex-with-quotes) – outis
Beachten Sie, dass dies wegen des Fehlens von Leerzeichen um '= ~' fehlgeschlagen ist. – fedorqui