E como ele também preenche aliases automaticamente?
E como ele também preenche aliases automaticamente?
Respostas:
Dependendo do comando:
/etc/bash_completion.d/*(ou um local diferente em alguns sistemas). Essas funções são registradas com o built-in (por exemplo, informa ao bash para chamar a função quando você pressiona um comando). Eles usam o built-in para dizer ao bash "aqui estão as possíveis conclusões".complete complete -F _find find_findTabfindcompgen--helpe analisa a saída. Tais comandos podem ser registrados com o completebuilt-in, por exemplo complete -F _longopt ls. _longopté de fato uma função de geração de conclusão, que analisa a saída de um comando em vez de usar uma lista fixa. (Existem outras funções de conclusão mais especializadas que analisam a saída de um comando para gerar possíveis conclusões; procure /etc/bash_completion.d/*exemplos.)completebuilt-in tem opções para isso, por exemplo, -Apara aliases.O suporte para a conclusão do bash é fornecido no Debian e Ubuntu pelo pacote de conclusão do bash . Em geral, você também precisa descomentar o seguinte /etc/bash.bashrce / ou .bashrcobter os arquivos de conclusão do bash. O seguinte é de /etc/bash.bashrc:
# enable bash completion in interactive shells
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi
para que isso funcione. Eu normalmente descomentei isso em ambos. O manuseio de shells interativos / de login no Debian é um pouco confuso.
Presumivelmente, comentários semelhantes se aplicam a outras distribuições, embora talvez elas habilitem o fornecimento por padrão.