Завершение Bash является очень неполным на Centos 7


14

Я установил завершение 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?

Ответы:


10

Вы можете попробовать bash-completion-extras. В настоящее время он все еще находится в тестировании Epel, но в конечном итоге будет выпущен в Epel. Прямо сейчас вы сможете запустить:

yum --enablerepo=epel-testing install bash-completion-extras

... чтобы получить дополнительные дополнения.


1
Сейчас в epel.
Ведран Шего

7

У меня bash-completionустановлен пакет в моей системе CentOS, и по умолчанию он поддерживает многие приложения.

Проверьте версию у вас тоже, на всякий случай.

$  yum list installed | grep completion
bash-completion.noarch                1:1.3-7.el6               @epel


$  repoquery --list bash-completion.noarch 
/etc/bash_completion
/etc/bash_completion.d
/etc/bash_completion.d/abook
/etc/bash_completion.d/ant
/etc/bash_completion.d/apt
/etc/bash_completion.d/aspell
/etc/bash_completion.d/autoconf
/etc/bash_completion.d/automake
/etc/bash_completion.d/autorpm
/etc/bash_completion.d/bash-builtins
/etc/bash_completion.d/bind-utils
/etc/bash_completion.d/bitkeeper
/etc/bash_completion.d/bittorrent
/etc/bash_completion.d/bluez
/etc/bash_completion.d/brctl
/etc/bash_completion.d/bzip2
/etc/bash_completion.d/cfengine
/etc/bash_completion.d/chkconfig
/etc/bash_completion.d/cksfv
/etc/bash_completion.d/clisp
/etc/bash_completion.d/configure
/etc/bash_completion.d/coreutils
/etc/bash_completion.d/cpan2dist
/etc/bash_completion.d/cpio
/etc/bash_completion.d/crontab
/etc/bash_completion.d/cryptsetup
/etc/bash_completion.d/cups
/etc/bash_completion.d/cvs
/etc/bash_completion.d/cvsps
/etc/bash_completion.d/dd
/etc/bash_completion.d/dhclient
/etc/bash_completion.d/dict
/etc/bash_completion.d/dpkg
/etc/bash_completion.d/dselect
/etc/bash_completion.d/dsniff
/etc/bash_completion.d/dvd+rw-tools
/etc/bash_completion.d/e2fsprogs
/etc/bash_completion.d/findutils
/etc/bash_completion.d/freeciv
/etc/bash_completion.d/freerdp
/etc/bash_completion.d/fuse
/etc/bash_completion.d/gcc
/etc/bash_completion.d/gcl
/etc/bash_completion.d/gdb
/etc/bash_completion.d/genisoimage
/etc/bash_completion.d/getent
/etc/bash_completion.d/gkrellm
/etc/bash_completion.d/gnatmake
/etc/bash_completion.d/gpg
/etc/bash_completion.d/gpg2
/etc/bash_completion.d/gzip
/etc/bash_completion.d/hping2
/etc/bash_completion.d/iconv
/etc/bash_completion.d/iftop
/etc/bash_completion.d/ifupdown
/etc/bash_completion.d/imagemagick
/etc/bash_completion.d/info
/etc/bash_completion.d/ipmitool
/etc/bash_completion.d/iproute2
/etc/bash_completion.d/ipsec
/etc/bash_completion.d/iptables
/etc/bash_completion.d/ipv6calc
/etc/bash_completion.d/isql
/etc/bash_completion.d/jar
/etc/bash_completion.d/java
/etc/bash_completion.d/k3b
/etc/bash_completion.d/ldapvi
/etc/bash_completion.d/lftp
/etc/bash_completion.d/lisp
/etc/bash_completion.d/lrzip
/etc/bash_completion.d/lsof
/etc/bash_completion.d/lvm
/etc/bash_completion.d/lzma
/etc/bash_completion.d/lzop
/etc/bash_completion.d/mailman
/etc/bash_completion.d/make
/etc/bash_completion.d/man
/etc/bash_completion.d/mc
/etc/bash_completion.d/mcrypt
/etc/bash_completion.d/mdadm
/etc/bash_completion.d/medusa
/etc/bash_completion.d/minicom
/etc/bash_completion.d/mkinitrd
/etc/bash_completion.d/module-init-tools
/etc/bash_completion.d/monodevelop
/etc/bash_completion.d/mplayer
/etc/bash_completion.d/msynctool
/etc/bash_completion.d/mtx
/etc/bash_completion.d/munin-node
/etc/bash_completion.d/mutt
/etc/bash_completion.d/mysqladmin
/etc/bash_completion.d/ncftp
/etc/bash_completion.d/net-tools
/etc/bash_completion.d/nmap
/etc/bash_completion.d/ntpdate
/etc/bash_completion.d/open-iscsi
/etc/bash_completion.d/openldap
/etc/bash_completion.d/openssl
/etc/bash_completion.d/perl
/etc/bash_completion.d/pine
/etc/bash_completion.d/pkg-config
/etc/bash_completion.d/plague-client
/etc/bash_completion.d/pm-utils
/etc/bash_completion.d/postfix
/etc/bash_completion.d/postgresql
/etc/bash_completion.d/povray
/etc/bash_completion.d/procps
/etc/bash_completion.d/python
/etc/bash_completion.d/qdbus
/etc/bash_completion.d/qemu
/etc/bash_completion.d/quota-tools
/etc/bash_completion.d/rcs
/etc/bash_completion.d/rdesktop
/etc/bash_completion.d/redefine_filedir
/etc/bash_completion.d/resolvconf
/etc/bash_completion.d/rfkill
/etc/bash_completion.d/ri
/etc/bash_completion.d/rpcdebug
/etc/bash_completion.d/rpm
/etc/bash_completion.d/rpmcheck
/etc/bash_completion.d/rrdtool
/etc/bash_completion.d/rsync
/etc/bash_completion.d/samba
/etc/bash_completion.d/sbcl
/etc/bash_completion.d/screen
/etc/bash_completion.d/service
/etc/bash_completion.d/sh
/etc/bash_completion.d/shadow
/etc/bash_completion.d/sitecopy
/etc/bash_completion.d/smartctl
/etc/bash_completion.d/snownews
/etc/bash_completion.d/sqlite3
/etc/bash_completion.d/ssh
/etc/bash_completion.d/sshfs
/etc/bash_completion.d/strace
/etc/bash_completion.d/svk
/etc/bash_completion.d/sysbench
/etc/bash_completion.d/tar
/etc/bash_completion.d/tcpdump
/etc/bash_completion.d/unace
/etc/bash_completion.d/unrar
/etc/bash_completion.d/util-linux
/etc/bash_completion.d/vncviewer
/etc/bash_completion.d/vpnc
/etc/bash_completion.d/wireless-tools
/etc/bash_completion.d/wodim
/etc/bash_completion.d/wol
/etc/bash_completion.d/wtf
/etc/bash_completion.d/wvdial
/etc/bash_completion.d/xm
/etc/bash_completion.d/xmllint
/etc/bash_completion.d/xmlwf
/etc/bash_completion.d/xmms
/etc/bash_completion.d/xorg-x11-server-utils
/etc/bash_completion.d/xsltproc
/etc/bash_completion.d/xz
/etc/bash_completion.d/yp-tools
/etc/bash_completion.d/yum-arch
/etc/profile.d/bash_completion.sh
/usr/share/bash-completion
/usr/share/bash-completion/abook
/usr/share/bash-completion/ant
/usr/share/bash-completion/apt
/usr/share/bash-completion/aspell
/usr/share/bash-completion/autoconf
/usr/share/bash-completion/automake
/usr/share/bash-completion/autorpm
/usr/share/bash-completion/bind-utils
/usr/share/bash-completion/bitkeeper
/usr/share/bash-completion/bittorrent
/usr/share/bash-completion/bluez
/usr/share/bash-completion/brctl
/usr/share/bash-completion/bzip2
/usr/share/bash-completion/cfengine
/usr/share/bash-completion/chkconfig
/usr/share/bash-completion/cksfv
/usr/share/bash-completion/clisp
/usr/share/bash-completion/cpan2dist
/usr/share/bash-completion/cpio
/usr/share/bash-completion/crontab
/usr/share/bash-completion/cryptsetup
/usr/share/bash-completion/cups
/usr/share/bash-completion/cvs
/usr/share/bash-completion/cvsps
/usr/share/bash-completion/dhclient
/usr/share/bash-completion/dict
/usr/share/bash-completion/dpkg
/usr/share/bash-completion/dselect
/usr/share/bash-completion/dsniff
/usr/share/bash-completion/dvd+rw-tools
/usr/share/bash-completion/e2fsprogs
/usr/share/bash-completion/findutils
/usr/share/bash-completion/freeciv
/usr/share/bash-completion/freerdp
/usr/share/bash-completion/fuse
/usr/share/bash-completion/gcc
/usr/share/bash-completion/gcl
/usr/share/bash-completion/gdb
/usr/share/bash-completion/genisoimage
/usr/share/bash-completion/gkrellm
/usr/share/bash-completion/gnatmake
/usr/share/bash-completion/gpg
/usr/share/bash-completion/gpg2
/usr/share/bash-completion/gzip
/usr/share/bash-completion/helpers
/usr/share/bash-completion/helpers/perl
/usr/share/bash-completion/hping2
/usr/share/bash-completion/iftop
/usr/share/bash-completion/imagemagick
/usr/share/bash-completion/info
/usr/share/bash-completion/ipmitool
/usr/share/bash-completion/iproute2
/usr/share/bash-completion/ipsec
/usr/share/bash-completion/iptables
/usr/share/bash-completion/ipv6calc
/usr/share/bash-completion/isql
/usr/share/bash-completion/jar
/usr/share/bash-completion/java
/usr/share/bash-completion/k3b
/usr/share/bash-completion/ldapvi
/usr/share/bash-completion/lftp
/usr/share/bash-completion/lisp
/usr/share/bash-completion/lrzip
/usr/share/bash-completion/lsof
/usr/share/bash-completion/lvm
/usr/share/bash-completion/lzma
/usr/share/bash-completion/lzop
/usr/share/bash-completion/mailman
/usr/share/bash-completion/make
/usr/share/bash-completion/man
/usr/share/bash-completion/mc
/usr/share/bash-completion/mcrypt
/usr/share/bash-completion/mdadm
/usr/share/bash-completion/medusa
/usr/share/bash-completion/minicom
/usr/share/bash-completion/mkinitrd
/usr/share/bash-completion/monodevelop
/usr/share/bash-completion/mplayer
/usr/share/bash-completion/msynctool
/usr/share/bash-completion/mtx
/usr/share/bash-completion/munin-node
/usr/share/bash-completion/mutt
/usr/share/bash-completion/mysqladmin
/usr/share/bash-completion/ncftp
/usr/share/bash-completion/net-tools
/usr/share/bash-completion/nmap
/usr/share/bash-completion/ntpdate
/usr/share/bash-completion/open-iscsi
/usr/share/bash-completion/openldap
/usr/share/bash-completion/openssl
/usr/share/bash-completion/perl
/usr/share/bash-completion/pine
/usr/share/bash-completion/pkg-config
/usr/share/bash-completion/plague-client
/usr/share/bash-completion/pm-utils
/usr/share/bash-completion/postfix
/usr/share/bash-completion/postgresql
/usr/share/bash-completion/povray
/usr/share/bash-completion/procps
/usr/share/bash-completion/python
/usr/share/bash-completion/qdbus
/usr/share/bash-completion/qemu
/usr/share/bash-completion/quota-tools
/usr/share/bash-completion/rcs
/usr/share/bash-completion/rdesktop
/usr/share/bash-completion/resolvconf
/usr/share/bash-completion/rfkill
/usr/share/bash-completion/ri
/usr/share/bash-completion/rpcdebug
/usr/share/bash-completion/rpmcheck
/usr/share/bash-completion/rrdtool
/usr/share/bash-completion/rsync
/usr/share/bash-completion/samba
/usr/share/bash-completion/sbcl
/usr/share/bash-completion/screen
/usr/share/bash-completion/shadow
/usr/share/bash-completion/sitecopy
/usr/share/bash-completion/smartctl
/usr/share/bash-completion/snownews
/usr/share/bash-completion/sqlite3
/usr/share/bash-completion/ssh
/usr/share/bash-completion/sshfs
/usr/share/bash-completion/strace
/usr/share/bash-completion/svk
/usr/share/bash-completion/sysbench
/usr/share/bash-completion/tar
/usr/share/bash-completion/tcpdump
/usr/share/bash-completion/unace
/usr/share/bash-completion/unrar
/usr/share/bash-completion/vncviewer
/usr/share/bash-completion/vpnc
/usr/share/bash-completion/wireless-tools
/usr/share/bash-completion/wodim
/usr/share/bash-completion/wol
/usr/share/bash-completion/wtf
/usr/share/bash-completion/wvdial
/usr/share/bash-completion/xm
/usr/share/bash-completion/xmllint
/usr/share/bash-completion/xmlwf
/usr/share/bash-completion/xmms
/usr/share/bash-completion/xorg-x11-server-utils
/usr/share/bash-completion/xsltproc
/usr/share/bash-completion/xz
/usr/share/bash-completion/yp-tools
/usr/share/bash-completion/yum-arch
/usr/share/doc/bash-completion-1.3
/usr/share/doc/bash-completion-1.3/AUTHORS
/usr/share/doc/bash-completion-1.3/CHANGES
/usr/share/doc/bash-completion-1.3/CHANGES.package.old
/usr/share/doc/bash-completion-1.3/COPYING
/usr/share/doc/bash-completion-1.3/README
/usr/share/doc/bash-completion-1.3/TODO

+1 за проверку версии (я получаю более новую (?!) Версию из базового репо), к сожалению, я не могу найти ее bash-completionв репозитории epel (см. Вопрос об обновлении). Есть еще идеи?
Ted

1

Я увидел этот вопрос, когда у меня возникла проблема с завершением 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.


Пробовал то, что предлагали другие; в конце концов это было исправлено путем переустановки пакетов. Благодарность!
Helvete

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.