De onde vêm as informações mostradas pelo recurso 'Exibir todos os comandos' do OS X Terminal?

0

Acabei de saber que, se você pressionar e segurar ESC enquanto estiver no Mac Terminal, um prompt aparecerá após alguns segundos oferecendo todos os comandos disponíveis em seu sistema, incluindo aliases, built-ins, e executáveis no seu PATH.

Soruce: link

No entanto, a saída é mostrada através de um filtro more , e eu não posso grep ou canalizar para outro comando.

Alguém sabe como essa saída mágica é gerada? É apenas gerado na hora pelo Terminal? Existe um comando bash que pode ser chamado explicitamente na linha de comando e obter o mesmo resultado?

É principalmente curiosidade, mas eu adoraria ser capaz de obter os resultados como texto que eu possa pós-processar e não apenas navegar na tela.

    
por Sergio Acosta 14.06.2010 / 08:50

1 resposta

2

Como Ignacio Vazquez-Abrams comentou, essa funcionalidade vem do recurso de conclusão bash . O comando interno compgen fornece acesso à funcionalidade.

Você pode acessar a conclusão do comando assim:

# all commands
compgen -c
# command starting with "ls"
compgen -c ls
    
por 14.06.2010 / 10:36

Tags