Hoi Kollegen,
ich arbeite aktuell an diversen Skripten mit Bash Completion. Das ganze
klappt schon ganz gut, allerdings sind meine bisherigen "was kommt als
nächstes" TAB-Vervollständigungen auf eine Datenbank basiert. Da kann
ich prima mit Wildcards arbeiten. Nun suche ich aber was, wie ich das in
BASH selbst umsetzen kann, ich will ja nicht jedes Mal mit einer
Datenbank arbeiten müssen.
Bisheriger Ablauf:
ich habe in einer Variable das Wort (ggf. Begin des Wortes) und möchte
nun vervollständigen. Einfaches Beispiel:
Die Menge der zur Verfügung stehenden Wörter:
anton
berta
caesar
antonia
jetzt gebe ich ant[tab] ein. Nun schläg mein Skript zu. Bisher waren
diese Werte in einer Datenbank und ich konnte die "Vervollständigung"
mittels eines einfachen
SELECT wort from bla where wort like "ant%"
durchführen. Das gab mir (in MySQL) die beiden verbliebenen "anton" und
"antonia".
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"?
Greetz
Martin