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