Коли я 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завершення для завершення.