Dependendo do comando:
- Alguém pode ter escrito uma função para gerar possíveis conclusões de argumentos, incluindo opções. Você encontrará funções para alguns comandos em
/etc/bash_completion.d/*(ou um local diferente em alguns sistemas). Essas funções são registradas com ocompletebuilt-in (por exemplo,complete -F _find finddiz ao bash para chamar a função_findquando você pressione Tab em um comandofind). Eles usam ocompgenembutido para informar ao bash “aqui são as possíveis conclusões ”. - Para alguns comandos, o bash chamará o comando com o argumento
--helpe analisará a saída. Esses comandos podem ser registrados com ocompleteembutido, por exemplo %código%.complete -F _longopt lsé, na verdade, uma função de geração de conclusão, que acontece para analisar a saída de um comando em vez de usar uma lista fixa. (Há outras funções de conclusão mais especializadas que analisam a saída de um comando para gerar possíveis conclusões; procure em_longoptpor exemplos.) - Para coisas como aliases, a função de conclusão as procura nas tabelas internas do bash. O
/etc/bash_completion.d/*integrado tem opções para isso, por exemplocompletepara aliases.