Wenn ich tab tab
_
im Terminal bin , schlägt Bash 206 Möglichkeiten vor. Ich habe versucht, einen von ihnen zu _git_rm
leiten, aber nichts ist passiert. Was sind sie?
Hier ist ein Screenshot:
Wenn ich tab tab
_
im Terminal bin , schlägt Bash 206 Möglichkeiten vor. Ich habe versucht, einen von ihnen zu _git_rm
leiten, aber nichts ist passiert. Was sind sie?
Hier ist ein Screenshot:
Antworten:
Diese Funktionen, deren Name mit einem Unterstrich beginnt, sind Teil der programmierbaren Vervollständigungs-Engine. Bash folgt hier der zsh-Konvention, bei der die Funktion somecommand
aufgerufen wird _somecommand
, für die Vervollständigungen generiert werden , und wenn diese Funktion Hilfsfunktionen erfordert, werden sie aufgerufen _somecommand_stuff
.
Diese Abschlussfunktionen tun normalerweise nichts Nützliches oder lösen einen Fehler aus, wenn Sie sie manuell aufrufen: Sie sollen von der Abschluss-Engine aufgerufen werden.
Dies folgt auf eine in verschiedenen Programmiersprachen weit verbreitete Praxis, einen führenden Unterstrich zu verwenden, um anzuzeigen, dass eine Funktion oder Variable in irgendeiner Weise in einer Bibliothek intern ist und nicht für den Endbenutzer (oder Endprogrammierer) bestimmt ist.
type _git_rm
wird Ihnen wahrscheinlich sagen, dass es eine Funktion ist.grep -R '_git_rm' /etc/bash_completion.d/
werde es wahrscheinlich finden. Diese Funktionen sind normalerweise diejenigen, die die verschiedenen Vervollständigungslisten zurbash
Vervollständigung bereitstellen .