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:
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:
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).
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.