Cuando estoy tab tab
_
en la terminal, Bash sugiere 206 posibilidades. Traté de ejecutar uno de ellos _git_rm
pero no pasó nada, ¿qué son?
Aquí hay una captura de pantalla:
linux
bash
terminal
linux-mint
dibujar
fuente
fuente
type _git_rm
probablemente te dirá que es una función.grep -R '_git_rm' /etc/bash_completion.d/
Probablemente lo encuentre. Esas funciones suelen ser las que proporcionan las diversas listas debash
finalización para completar.Respuestas:
Estas funciones cuyo nombre comienza con un guión bajo forman parte del motor de finalización programable. Bash sigue la convención de zsh aquí, donde
somecommand
se llama a la función que genera terminaciones para_somecommand
, y si esa función requiere funciones auxiliares, se llaman_somecommand_stuff
.Estas funciones de finalización generalmente no hacen nada útil o generan un error si las llama manualmente: están destinadas a ser llamadas desde el motor de finalización.
Esto sigue una práctica bastante extendida en varios lenguajes de programación para usar un guión bajo principal para indicar que una función o variable es de alguna manera interna a una biblioteca y no está destinada al usuario final (o programador final).
fuente