Quando estou tab tab
_
no terminal, Bash sugere 206 possibilidades. Tentei rodar um deles, _git_rm
mas nada aconteceu, o que são?
Aqui está uma captura de tela:
linux
bash
terminal
linux-mint
desenhar
fonte
fonte
type _git_rm
provavelmente lhe dirá que é uma função.grep -R '_git_rm' /etc/bash_completion.d/
provavelmente o encontrará. Essas funções são geralmente aquelas que fornecem as várias listas debash
conclusão para conclusão.Respostas:
Essas funções cujo nome começa com um sublinhado fazem parte do mecanismo de conclusão programável. O Bash segue a convenção do zsh aqui, onde a função que gera conclusões para
somecommand
é chamada_somecommand
e, se essa função exigir funções auxiliares, elas serão chamadas_somecommand_stuff
.Essas funções de conclusão normalmente não servem para nada ou geram um erro se você as chamar manualmente: elas devem ser chamadas pelo mecanismo de conclusão.
Isso segue uma prática bastante difundida em várias linguagens de programação para usar um sublinhado principal para indicar que uma função ou variável é de alguma forma interna a uma biblioteca e não se destina ao usuário final (ou programador final).
fonte