Когда я tab tab
_
в терминале, Bash предлагает 206 возможностей. Я пытался запустить один из них, _git_rm
но ничего не случилось, что они?
Вот скриншот:
Когда я tab tab
_
в терминале, Bash предлагает 206 возможностей. Я пытался запустить один из них, _git_rm
но ничего не случилось, что они?
Вот скриншот:
Ответы:
Эти функции, чье имя начинается с подчеркивания, являются частью программируемого механизма завершения. Bash следует конвенции ЗШ здесь, где функция , которая генерирует автозаполнения somecommand
называется _somecommand
, и если эта функция требует вспомогательных функций, они называются _somecommand_stuff
.
Эти функции завершения обычно ничего не делают или не вызывают ошибку, если вы вызываете их вручную: они предназначены для вызова из механизма завершения.
Это следует из довольно распространенной практики в различных языках программирования, чтобы использовать начальное подчеркивание, чтобы указать, что функция или переменная каким-то образом являются внутренними по отношению к библиотеке и не предназначены для конечного пользователя (или конечного программиста).
type _git_rm
вероятно скажу вам, что это функция.grep -R '_git_rm' /etc/bash_completion.d/
вероятно найдет это. Этими функциями обычно являются те, которые предоставляют различные спискиbash
завершения для завершения.