Adri Verhoef <
a...@news.a3.xs4all.nl> wrote:
> Filename-completion werkte voorheen prima (goed genoeg), tegenwoordig snap ik
> het niet meer.
>
> Er is hier een file in /tmp en die heet "De 250 lijst.csv" (zonder
> aanhalingstekens, met spaties).
>
> $ ls /tmp/"D
>
> Nu typ ik een TAB, er verschijnt op het scherm:
>
> $ ls /tmp/"/tmp/De 250 lijst.csv"
Dat doet ie hier zo niet, maar wat je doet is niet goed dus wellicht
is het gedrag in geval van incorrecte invoer veranderd.
Wat je moet doen is: ls "/tmp/D<TAB>
Of je kunt de " ook weglaten maar dan gaat hij de spaties vervangen
door '\ ' ipv dat hij de naam quote.
Een quote halfweg de naam dat is niet de bedoeling kennelijk.
> Een ander geval. Er is hier een file "xml051.xml".
>
> $ ls x<TAB>
> $ ls xml051.xml
> xml051.xml
>
> Vervolgens wil ik een bepaald shellprogramma aanroepen: "mkjaaroverzicht.sh":
>
> $ sh mk<TAB>
> $ sh mkjaaroverzicht.sh
>
> Ik typ verder om de file "xml051.xml" als argument op te halen:
>
> $ sh mkjaaroverzicht.sh x
>
> Nu typ ik een TAB, het resultaat: er gebeurt niets op het scherm.
De nieuwe stijl bash autocompletion "kent" de programma's en weet
wat voor soort argumenten ze verwachten. Soms is dat wel handig maar
het komt inderdaad ook voor dat het slecht werkt of dat de "kennis"
van de autocomplete gewoon incorrect is.
Kijk eens of je een file /etc/profile.d/complete.bash en een directory
/etc/bash_completion.d op je systeem hebt. Die heb ik hier wel (maar
dat zegt zoals gebruikelijk in Linux helemaal niks) en daar staan de
definities in waarmee hij die autocompletion aanstuurt.
Misschien kun je achterhalen waar die keten ergens ingeladen wordt,
dat zie ik zo snel niet, en die hele "smart" autocomplete uitschakelen.