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