As part of a larger autocomplete function I'm writing, I want to use compgen to generate a list of files. I read the bash manual entries for compgen
and complete
, and from there I assumed that the option -G "*"
would be the solution. I could not get it to work, though: The list of files in the current directory was shown, regardless of my input, i.e.:
$ cmd <Tab>
aa bb cc
$ cmd a<Tab>
aa bb cc
$ cmd aa<Tab>
aa bb cc
Therefore, I tried to debug this by using complete
, which supports the same options as compgen, but I got the same result:
$ complete -G "*" cmd
$ cmd a<Tab>
aa bb cc
I also tried complete -o filenames
, but this doesn't work either..
Best Answer
I found the answer myself: I have to use the
-A action
option: