Я установил завершение Bash с помощью yum install --enablerepo=epel bash-completion
. Хотя он работает для некоторых основных команд (git & yum), я пропускаю большую часть завершителей.
Мой /etc/bash_completion.d
содержит следующее:
bash_completion.d] $ ls
git iprutils redefine_filedir yum yummain.py yum-utils.bash
Тем не менее, я знаю, что есть bash_completion, например, make (который установлен) и многое другое, сравните, например, с примером вывода здесь .
Как я могу получить недостающие скрипты? (Желательно с yum, чтобы мне не приходилось обновлять их вручную)
Если это имеет значение: завершение табуляции работает, но я ничего не использую в моем .bashrc. Он только начал работать после установки пакета.
ОБНОВЛЕНИЕ: После проверки версии завершения bash, которую я установил, @fduff предложил мне увидеть следующее:
список $ yum установлен | Grep завершение
Баш-completion.noarch 1: 2.1-6.el7 @Base
Однако пытаться удалить его и заставить CentOS установить bash_completion из хранилища Epel с sudo yum install --enablerepo=epel bash-completion --disablerepo=base
дали package not found
.
Дальнейшая проверка привела к тому, что новый пакет, который сейчас находится в @base, помещает в него файлы завершения /usr/share/bash-completion/completions
, однако я все еще пропускаю некоторые, то есть ssh
и sudo
(вид отстой, sudo command [tab]
который не завершается, пока command [tab]
выполняется), более того, я не могу найти бит для make
(который должен перечислить цели, которые в Makefile
)
ОБНОВЛЕНИЕ 2: журнал изменений заявляет:
- Пт 01 ноября 2013 Петр Стодулка - 2.1-6
- Установите только доступные дополнения (# 810343 - комментарий 15) без «tar» и удалите другое.
- Пт 13 сен 2013 Роман Ракус - 2.1-5
- Добавлен еще один отсутствующий условный результат: # 1007839
- Пт 13 сен 2013 Роман Ракус - 2.1-4
- Добавлены условия, чтобы не добавлять дополнения для некоторых команд; пакеты имеют свои дополнения. Решает: # 1007839
Таким образом, переустановка sudo после того, как я установил bash_completion, сработала для sudo
завершения, однако мне не повезло с make.
ВОПРОС : Как включить make
завершение bash в Centos 7?
У меня
bash-completion
установлен пакет в моей системе CentOS, и по умолчанию он поддерживает многие приложения.Проверьте версию у вас тоже, на всякий случай.
источник
bash-completion
в репозитории epel (см. Вопрос об обновлении). Есть еще идеи?Я увидел этот вопрос, когда у меня возникла проблема с завершением bash. Я был вдохновлен информацией здесь и взял некоторый эксперимент. Оказывается, мне нужно сначала переустановить пакет, если завершение для этого пакета отсутствует.
Например, я потерял завершение для моего
yum
. Попытался удалить, установить и переустановить bash-complete, но ни yum ни под ни,/etc/bash_completion.d/
ни для/usr/share/bash-completion/completions/
. Тогда я увидел этот вопрос и попыталсяyum reinstall yum
следоватьyum reinstall bash-completion
. После этого меняyum
уложили/etc/bash_completion.d/
.Это
make
тоже сработало на моем домашнем сервере.Так что, возможно, это тот случай, когда нам нужно сначала переустановить целевой пакет, а затем переустановить bash-complete.
источник
Для CentOS 7.5 просто включите epel Repo. и затем установите
bash-completion-extras
:источник