Как bash завершить псевдоним как команда

У меня есть псевдоним

alias gi=git

В отличие от git, gi не может выполнить на подкоманды, пути, ветви.

Как я могу сказать bash "завершить X, как если бы это был Y"?

1 ответ

Решение

Возможно, вы захотите добавить это к вашему .bashrc или .bash_aliases.

# load git completions
_completion_loader git

# assign git's completion function _git to gi
complete -o bashdefault -o default -o nospace -F _git gi

В качестве альтернативы вы можете использовать следующее (что в значительной степени эквивалентно):

# load git completions
. /usr/share/bash-completion/completions/git

# assign git's completion function _git to gi
__git_complete gi _git

Обратите внимание, что вы можете пропустить первую строку (любого из вышеупомянутых примеров), если динамические завершения не включены. Вы должны, вероятно, предположить, что он включен, хотя.

Другие вопросы по тегам