/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
bash programmable completion
Fra : Niels Andersen


Dato : 17-03-03 23:25

Jeg bruger ofte programmet sitecopy, og vil gerne have automatisk completion
på.
Jeg er kommet et godt stykke. Jeg har lavet filen
"/etc/bash_completion.d/sitecopy", med følgende indhold:

have sitecopy && _sitecopy()
{
COMPREPLY=( $( cat ~/.sitecopyrc | grep ^site | sed 's/^site //' ) )
}
[ "$have" ] && complete -F _sitecopy sitecopy

Det ændrede tilsyneladende ikke noget. I promptet prøvede jeg så fyre
linjerne af. Jeg måtte lige fjerne de to "have"-dimser, så virkede det
næsten:

$ sitecopy d<TAB><TAB>
domæne1.dk eksempel1.dk
domæne2.dk eksempel2.dk
$ sitecopy dd<TAB><TAB>
domæne1.dk eksempel1.dk
domæne2.dk eksempel2.dk

Den giver altså en helt korrekt liste over mulighederne, men der sker intet
med selve kommandolinjen, og den giver en komplet liste i stedet for kun
dem, der starter med det, jeg allerede har skrevet.

Hvis jeg starter en ny xterm (med bash) indeholder listen ikke længere en
liste med domænenavne, men i stedet blot ét element: "ls=". Til gengæld
fungerer auto-completion. Skriver jeg noget andet end "l" får jeg ikke
noget frem, men skriver jeg starten af "ls=" sætter den selv resten på.


Hvordan får jeg mon løst de to problemer? Jeg har ikke kunnet finde noget på
Google, eller ved at kigge i de eksisterende eksempler (jeg forstår dem
ikke, da min bash-viden er for begrænset).

--
Mvh.

Niels Andersen
Linux 2.4.20 - Debian testing/unstable


 
 
Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408952
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste