Personalizar a conclusão da guia no shell

Isso pode ter um nome melhor do que "conclusão de tabulação personalizada", mas aqui está o cenário:

Normalmente, quando estou na linha de comando e insiro um comando, seguido de {TAB} duas vezes, obtenho uma lista de todos os arquivos e subdiretórios no diretório atual. Por exemplo:

[user@host tmp]$ cat <TAB><TAB>
chromatron2.exe                  Fedora-16-i686-Live-Desktop.iso  isolate.py
favicon.ico                      foo.exe                          James_Gosling_Interview.mp3

No entanto, notei que pelo menos um programa de alguma forma filtra essa lista:wine. Considerar:

[user@host tmp]$ wine <TAB><TAB>
chromatron2.exe  foo.exe

Ele efetivamente filtra os resultados para*.exe.

Pensando que poderia ser algum tipo de script wrapper responsável pela filtragem, um fez umwhich efile um acontecewine não é um script, mas um executável.

Agora, eu não sei se esse "filtro" é de alguma forma codificado no próprio programa, ou especificado de outra forma durante a instalação padrão do wine, então não tenho certeza se essa pergunta é mais apropriada para stackoverflow ou superusuário, então estou cruzando meus dedos e jogando aqui. Peço desculpas se adivinhei errado. (Além disso, verifiquei algumas questões semelhantes, mas a maioria era irrelevante ou envolvia editar a configuração do shell.)

Então, minha pergunta é: como essa "filtragem" é realizada? Desde já, obrigado.

questionAnswers(3)

yourAnswerToTheQuestion