Sie wollen entweder:
Insert-Vervollständigungen
ALT* für 'Alle Vervollständigungen einfügen'
Damit würde ein Verzeichnis mit dem Dateinamen 'aa ab ac ad'
ls a*
gefolgt von alt + *
vervollständigtls aa ab ac ad
Manpage-Eintrag zum Binden:
Insert-Vervollständigungen (M- *)
Fügen Sie alle Vervollständigungen des Textes vor dem Punkt ein, der durch mögliche Vervollständigungen generiert worden wäre.
glob-expand-word
Auf einigen Systemen funktioniert das oben Genannte nicht mit Wildchars. Auf solchen Systemen funktioniert Folgendes für mich:
ctrlx, *(eine Zweitaktkombination)
Beispiel: Ich habe ein Verzeichnis gefüllt mit:
touch {a,b,c,d,e,f}{1,2,3,4,5,6,7,8,9,0}00{a,b,c,d,f,e}
Ich ls *100*
folgte dann ctrl + x, *
, was meine Readline in Folgendes verwandelt:
ls a100a a100b a100c a100d a100e a100f b100a b100b b100c b100d b100e b100f c100a c100b c100c c100d c100e c100f d100a d100b d100c d100d d100e d100f e100a e100b e100c e100d e100e e100f f100a f100b f100c f100d f100e f100f
Manpage-Eintrag zum Binden:
glob-expand-word (Cx *)
Das Wort vor dem Punkt wird als Muster für die Pfadnamenerweiterung behandelt, und die Liste der übereinstimmenden Dateinamen wird eingefügt, wobei das Wort ersetzt wird. Wenn ein numerisches Argument angegeben wird, wird vor der Pfadnamenerweiterung ein '*' angehängt.
Manpage
touch aa ab ac ad
undls a
anschließendalt+*
tippen, wird die Liste angezeigt, diesls a*
jedoch nicht. Die Platzhalter sind der Punkt der Frage.GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)
undGNU bash, version 4.2.0(1)-release (x86_64--netbsd)
aber nichtGNU bash, version 4.2.45(2)-release (i386-apple-darwin12.2.0)
. Und mit gearbeitet meine ich, dass es im Text abgelegt ist. Überprüft meine Conf-Dateien, um festzustellen, ob ich etwas Besonderes habe.GNU bash, version 4.2.37(1)-release (arm-unknown-linux-gnueabihf)
(Raspbian)Versuchen Sie dies zu ~ / .inputrc hinzuzufügen:
show-all-if-mehrdeutig bewirkt, dass durch einmaliges (statt zweimaliges) Drücken der Tabulatortaste alle Abschlüsse aufgelistet werden. Außerdem wird beim ersten Drücken der Tabulatortaste gemeinsame Präfixe von Glob-Ausdrücken eingefügt.
glob-complete-word (\ eg) würde auch
*0
(ohne*
am Ende) vervollständigen1.0.
. Es vervollständigt auch zum Beispiel/System/Library/Launch*/*Finde
auf/System/Library/LaunchAgents/com.apple.Finder.plist
.Wenn Sie konvertieren wollten ,
*
um1.0.1 1.0.2
in dem obigen Beispiel verwendet entweder Insert-Fertigstellungen (\ e *) oder Glob-expand-Wort (\ Cx *).quelle
Dieses Problem wird durch Fehler im Paket "Bash-Vervollständigung" verursacht.
Wenn das Paket nicht installiert ist, führt bash die Standardvervollständigung durch. Dies ist eine ziemlich gute allgemeine Engine zur Vervollständigung von Dateinamen.
Das "Bash-Completion" -Paket soll den Rest der Zeile betrachten und in Bezug auf die von ihm generierten Listen "klug" sein. Es ist jedoch nicht möglich, die "glob" -Erweiterung erfolgreich zu duplizieren.
Persönlich denke ich, dass das Paket viel zu sehr anstrengend ist und nur vom "dümmsten Benutzer" verwendet werden kann.
Bevor Sie es löschen, sollten Sie den oberen Rand der Datei "/ usr / share / bash-vervollständigung / bash_completion" auf nützliche Ergänzungen zu Ihrer .bashrc überprüfen, um die integrierte Bash-Vervollständigung grob zu optimieren.
Übrigens: Es wurden über hundert Fehler protokolliert ... https://bugs.debian.org/cgi-bin/pkgreport.cgi?package=bash-completion
quelle