Como ocultar um programa da conclusão de tabulação do Linux

2

Eu tenho uma conta em uma máquina compartilhada e não consigo acessar / usr / bin, onde há muitos programas que nunca uso.

Gostaria que o tabbing ignorasse muitos desses programas. Por exemplo, gostaria que on<TAB> fosse concluído para oneprog , mas existem outras correspondências.

~> on
on_ac_power           oneprog          onto2vocabularyclass

Existe uma maneira de esconder as outras duas correspondências, exceto criar um espelho de / usr / bin?

    
por Samizdis 23.04.2014 / 18:53

1 resposta

1

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 .

    
por 23.04.2014 / 20:15