Martin Schuchardt kruemeltee@gmx.de schrieb:
Hallo Martin!
Jetzt will ich das ganze mit reinen Bash-Mitteln machen. Sprich ggf. am Anfang ein Array starten mittels:
myarray=(anton berta caesar antonia)
und dann irgendwie alle Teile aus dem Array mittels Schleife auslesen, die dem Pattern ant* entsprechen.
Hat da jemand ne Idee? Eine Schleife, sprich alles durchtesten? Aber wie mit der if-Verzweigung dann weiter? Wie vergleiche ich mittels if ein ant* mit "anton"?
BASH ist mächtig, gar nicht zu vergleichen mit SH oder andere "einfachen" Shell... Das hat in sich schon die Möglichkeit, eine RegExp in einer "if" zu nutzen.
Siehe hier (erste zwei Ergebnisse einer Google-Suche):
http://stackoverflow.com/questions/2348379/use-regular-expression-in-if-cond... http://stackoverflow.com/questions/18709962/bash-regex-if-statement
In Prinzip du brauchst die Schleife für alle Elementen des Array und, angenommen hast du in der Variabel ${part} was gerade getippt wurde, machst du folgendes:
if [[ ${myarray[$i]} =~ ${part} ]]; then <hier was du machen musst, wenn die String gefunden wurde> fi
Grüße Luca Bertoncello (lucabert@lucabert.de)