І як він також автоматично заповнює псевдоніми?
І як він також автоматично заповнює псевдоніми?
Відповіді:
Залежно від команди:
/etc/bash_completion.d/*
(або в іншому місці в деяких системах). Ці функції реєструються вбудованою (наприклад, вказує bash викликати функцію при натисканні на команду). Вони використовують вбудований, щоб сказати баш "ось можливі доповнення".complete
complete -F _find find
_find
Tabfind
compgen
--help
і проаналізує вихід. Такі команди можуть бути зареєстровані за допомогою complete
вбудованого, наприклад complete -F _longopt ls
. _longopt
насправді є функцією генерації завершення, яка відбувається для аналізу результатів команди, а не використання фіксованого списку. (Є й інші більш спеціалізовані функції завершення, які аналізують вихід команди для створення можливих завершень; шукайте /etc/bash_completion.d/*
приклади.)complete
Вбудований має варіанти , які, наприклад , -A
для псевдонімів.Підтримка bash завершення надається в Debian та Ubuntu пакетом завершення bash . Також зазвичай потрібно прокоментувати наступні дані у /etc/bash.bashrc
та / або .bashrc
джерелах файлів завершення файлу bash. Далі від /etc/bash.bashrc
:
# enable bash completion in interactive shells
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi
щоб це працювало. Зазвичай я це коментую в обох. Поводження з інтерактивними оболонками / входами в Debian є дещо безладним.
Подібні коментарі, імовірно, стосуються інших дистрибутивів, хоча, можливо, вони включають пошук за замовчуванням.