Assumindo Bash ...
Você pode definir suas próprias regras de autocompletar para opções / argumentos usando complete
. Você pode definir os nomes dos arquivos que são ignorados nos argumentos, exportando a variável $FIGNORE
.
No entanto, não acho que você possa alterar a maneira como o Bash resolve os nomes dos programas.
Você poderia, é claro, alias
do programa que deseja executar, para não precisar digitar muito:
[me@host ~]$ alias on=oneprog
[me@host ~]$ on
Você poderia (se você estivesse se sentindo bobo) alias o Bash embutido, command
e usar complete
para definir os argumentos que aceitaria (sua lista de bons programas), e então sempre lembre-se de digitar seu alias antes do comando real.
[me@host ~]$ alias run=command
[me@host ~]$ complete -W "ls cd" run
[me@host ~]$ run ls
Veja também Como o preenchimento automático ignora uma conclusão específica .