O que são esses comandos de sublinhado?

8

Quando eu tab tab _ no terminal, Bash sugere 206 possibilidades. Tentei executar um deles _git_rm mas nada aconteceu, o que são eles?

Aqui está uma captura de tela:

    
por draw 18.03.2013 / 18:36

1 resposta

9

Essas funções cujo nome começa com um sublinhado fazem parte do mecanismo de conclusão programável. Bash segue a convenção de zsh aqui, onde a função que gera completações para somecommand é chamada _somecommand , e se essa função requer funções auxiliares, elas são chamadas _somecommand_stuff .

Essas funções de conclusão normalmente não fazem nada útil ou geram um erro se você as chamar manualmente: elas devem ser chamadas a partir do mecanismo de conclusão.

Isso segue uma prática bastante difundida em várias linguagens de programação para usar um sublinhado à esquerda para indicar que uma função ou variável é de alguma forma interna a uma biblioteca e não é destinada ao usuário final (ou ao programador final). / p>     

por 19.03.2013 / 01:24