Benutzerdefinierte Tab-Vervollständigung in Bashs „read“

Benutzerdefinierte Tab-Vervollständigung in Bashs „read“

Gibt es eine Möglichkeit, eine Liste von Wörtern in readdie integrierte Funktion von Bash zu „importieren“, um eine benutzerdefinierte Tab-Vervollständigung zu erhalten? Ich habe ein Wrapper-Skript für den minimalistischen IRC-Client „ii“ von suckless geschrieben und habe keine Möglichkeit, Spitznamen mit Tabs zu vervollständigen.

Antwort1

Ich bin ziemlich sicher, bashdass ich das nicht kann. Aber inzsh

foo() { 
 local -a compcontext
 compcontext=( ${(f)"$(</tmp/names)"} )
 vared -c -p 'Enter in user: ' user
}

Generiert eine Liste von Übereinstimmungen aus einer Datei mit einem einzelnen Namen in jeder Zeile.

Oder wenn Sie beim Lesen Wörter vervollständigen möchten und nicht die gelesene Eingabe, complete -W "$(</tmp/names)" readwird dies in Bash erledigt.

verwandte Informationen