И как это также автозаполнение псевдонимов?
И как это также автозаполнение псевдонимов?
Ответы:
В зависимости от команды:
/etc/bash_completion.d/*
(или в другом месте в некоторых системах). Эти функции регистрируются встроенным (например, говорит bash вызвать функцию, когда вы нажимаете на команду). Они используют встроенную функцию, чтобы сказать 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 - это немного беспорядок.
Подобные комментарии предположительно применимы к другим дистрибутивам, хотя, возможно, по умолчанию они включают источники.