Bei Centos 7 ist die Bash-Vervollständigung sehr unvollständig

14

Ich habe die Bash-Vervollständigung mit installiert yum install --enablerepo=epel bash-completion. Während es für einige grundlegende Befehle (Git & Yum) funktioniert, vermisse ich einen großen Teil der Vervollständiger.

Meine /etc/bash_completion.denthält Folgendes:

bash_completion.d] $ ls
git iprutils redefine_filedir yum yummain.py yum-utils.bash

Ich weiß jedoch, dass es bash_completion für zB make (das installiert ist) gibt und vieles mehr, vergleiche zB mit der Beispielausgabe hier .

Wie kann ich die fehlenden Completer-Skripte erhalten? (Am besten mit yum, damit ich sie nicht manuell aktualisieren muss)

Wenn es darauf ankommt: Das Ausfüllen von Registerkarten funktioniert, ich beziehe jedoch keine Quellen in meinem .bashrc. Es hat erst nach der Installation des Pakets funktioniert.


UPDATE: Nachdem ich die Version der Bash-Vervollständigung überprüft habe, die ich als @fduff installiert habe, habe ich Folgendes gesehen:

$ yum Liste installiert | grep completion
bash-completion.noarch 1: 2.1-6.el7 @base

Allerdings versucht es und zwingt centos Deinstallation bash_completion von EPEL Repository zu installieren mit sudo yum install --enablerepo=epel bash-completion --disablerepo=baseergab package not found.

Weitere Überprüfungen ergaben, dass das neue Paket, das sich jetzt in @base befindet, die Vervollständigungsdateien enthält /usr/share/bash-completion/completions, aber ich vermisse immer noch einige, dh sshund sudo(Art von Dreck, sudo command [tab]der nicht vollständig ist, solange dies der command [tab]Fall ist), außerdem kann ich das Bit nicht finden make(die die Ziele auflisten sollte, die in sind Makefile)


UPDATE2: Das Changelog besagt:

  • Fr Nov 01 2013 Petr Stodulka - 2.1-6
    • Installieren Sie nur verfügbare Vervollständigungen (# 810343 - Kommentar 15) ohne "tar" und entfernen Sie die andere.
  • Fri Sep 13 2013 Roman Rakus - 2.1-5
    • Es wurde eine weitere fehlende bedingte Lösung hinzugefügt: # 1007839
  • Freitag, 13. September 2013 Roman Rakus - 2.1-4
    • Es wurden Bedingungen hinzugefügt, um für einige Befehle keine Abschlüsse hinzuzufügen. Die Pakete haben ihre eigenen Vervollständigungen

Somit funktionierte die Neuinstallation von sudo, nachdem ich bash_completion installiert hatte, für die sudoVervollständigung, allerdings hatte ich kein solches Glück mit make.

FRAGE : So aktivieren Siemake Bash-Vervollständigung in Centos 7 aktiviert werden?

ted
quelle

Antworten:

10

Vielleicht möchten Sie es versuchen bash-completion-extras. Es befindet sich derzeit noch im Epel-Test, wird aber irgendwann im Epel erscheinen. Im Moment solltest du in der Lage sein:

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

... um Bash-Completion-Extras zu bekommen.

jsbillings
quelle
1
Es ist jetzt im Epel.
Vedran Šego
7

Ich habe das bash-completionPaket auf meinem CentOS-System installiert und standardmäßig wird es von vielen Anwendungen unterstützt.

Überprüfen Sie die Version, die Sie auch haben, nur für den Fall.

$  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
fduff
quelle
+1 für die Überprüfung der Version (ich bekomme eine neuere (?!) Version aus dem Basis- bash-completionRepository ), die ich leider nicht im Epel-Repository finden kann (siehe Update-Frage). Weitere Ideen?
18.
1

Ich habe diese Frage gesehen, als ich ein Problem mit meiner Bash-Vervollständigung bekam. Die Informationen hier haben mich inspiriert und ich habe ein paar Experimente gemacht. Es stellt sich heraus, dass ich das Paket zuerst neu installieren muss, wenn die Vervollständigung für dieses Paket fehlt.

Zum Beispiel habe ich die Vollendung für meine verloren yum. Versuchte, die Bash-Vervollständigung zu entfernen, zu installieren und neu zu installieren, aber es gab weder unter /etc/bash_completion.d/noch unter yum /usr/share/bash-completion/completions/. Dann habe ich diese Frage gesehen und versucht, yum reinstall yumgefolgt von yum reinstall bash-completion. Danach wurde ich yumeingelegt /etc/bash_completion.d/.

Das funktionierte makeauch auf meinem Heimserver.

Vielleicht ist dies der Fall, dass wir zuerst das Zielpaket neu installieren und dann die Bash-Vervollständigung neu installieren müssen.

Mo-Han
quelle
Versuchte, was andere vorschlugen; Schließlich wurde es durch Neuinstallation der Pakete behoben. Vielen Dank!
Helvete
1

Aktivieren Sie für CentOS 7.5 einfach das Epel Repo. und dann installieren bash-completion-extras:

yum install epel-release
yum install bash-completion-extras
Soheil Pourbafrani
quelle