Existe algum comando que imite a lista de guias duplas no bash? [duplicado]

1

Eu gostaria de obter a mesma lista de preenchimento automático possível ao clicar em [Tab] [Tab] no bash, mas com um comando. Existe alguma maneira de fazer isso?

    
por Anthony Altieri 29.01.2016 / 00:02

2 respostas

4

Você pode usar compgen , que normalmente é o programa que é invocado quando você clica duas vezes na guia.

$ compgen -c c
cls
case
coproc
command_not_found_handle
caller
cd
command
compgen
complete
compopt
continue
clamd
cracklib-check
cpgr
cupsreject
cupsdisable
cupsaccept
cron
cppw
<100's more lines...>

Inclui também builtins de shell! Consulte este pergunta e man compgen .

Observe que a saída é classificada para a coluna (o que o bash fará), não uma única linha. Você pode facilmente sort a saída em ordem alfabética.

    
por 29.01.2016 / 01:17
1

Se você quer dizer arquivos correspondentes, você pode querer dizer:

foo<TAB><TAB>

Esta deve ser uma alternativa:

ls | grep -E '^foo'

Se você quer dizer programas correspondentes, você pode fazer isso para todos os diretórios em $PATH .

    
por 29.01.2016 / 01:10

Tags