Ich versuche, die Tabulatorvervollständigung für Befehle in Ubuntu 11.04 Beta 1 zu verwenden und führe die neuesten Updates aus, aber es scheint nicht zu funktionieren. (Obwohl die Paket-Bash-Vervollständigung installiert ist)
Die Tab-Vervollständigung funktioniert nur für Verzeichnisse oder Dateien ordnungsgemäß.
Irgendwelche Ideen, wo man gräbt?
bash
auto-completion
Screatch
quelle
quelle
Antworten:
Überprüfen Sie, ob Sie das folgende Fragment in Ihrer .bashrc haben (sollte standardmäßig vorhanden sein)
quelle
bash-completion
notwendig ist, damit dies funktioniert. Seltsamerweise enthält die Standardinstallation meiner Firma dieses Paket nicht.Ich dachte, ich würde auch die folgende zusätzliche Erklärung für ein Versagen der Bash-Vervollständigung hinzufügen - sie ist zu lang für einen Kommentar und kann für jemanden nützlich sein, der ein Problem mit der Bash-Vervollständigung hat, da dies vermutlich die 'allgemeine' kanonische Frage ist, auf die sich diese Frage bezieht Alle Duplikate werden referiert.
Auch wenn Sie die entsprechende Zeile in Ihrem
.bashrc
(wie in der obigen Antwort) und dembash-completion
installierten Paket haben, kann die Bash-Vervollständigung immer noch fehlerhaft sein, wenn Sie entwedershopt -s nullglob
odershopt -s failglob
in Ihrem.bashrc
oder haben.bash_aliases
.Die folgenden Szenarien wurden mit allen Benutzeranpassungen von getestet
.bashrc
und.bash_aliases
entfernt, um einen fairen Test zu ergeben, wobei die entsprechende Bash-Vervollständigungslinie.bashrc
vorhanden undbash-completion
installiert war.1) Das erste Szenario ist, wenn Sie
shopt -s failglob
in Ihrem.bashrc
oder haben.bash_aliases
.Beim Versuch, vollständige Verzeichnisse bzw. Dateien zu tabulieren, treten folgende Fehler auf:
Befehle werden jedoch weiterhin erfolgreich ausgeführt.
2)
shopt -s nullglob
Wenn diese Option aktiviert ist, führt der Versuch, ein Verzeichnis oder eine Datei auf der Registerkarte zu vervollständigen, zu einer unvollständigen Auflistung aller Elemente:Ich habe die Auflistung hier gekürzt, da es sehr lang war und nicht notwendig ist, alles zu reproduzieren.
Wieder funktioniert die Befehlsausführung jedoch weiterhin.
Entfernen Sie also einfach das Problem der Fehler mit der Bash-Vervollständigung
shopt -s failglob
odershopt -s nullglob
lösen Sie es, vorausgesetzt, Sie haben die entsprechende Zeile in Ihrem.bashrc
undbash-completion
installiert.quelle
Zusätzlich zum Ändern der
/etc/bash.bashrc
Datei (siehe andere Antworten) müssen Sie möglicherweise dasbash-completion
Paket installieren .Überprüfen Sie, ob die
/etc/bash_completion
Datei existiert. Wenn nein:(In meiner Installation von Debian 7 war es ursprünglich nicht installiert)
quelle
So einfach es auch klingen mag, stellen Sie sicher, dass bash Ihre aktive Shell ist
Ich habe gerade ein Upgrade auf Ubuntu 14.04.1 LTS durchgeführt und hatte keine automatische Vervollständigung der Tabs, obwohl ich den Ratschlägen in diesem Beitrag gefolgt war, nur um zu erkennen, dass meine Shell auf
/bin/sh
und nicht gesetzt war/bin/bash
.quelle
Update auf Ubuntu 14.04.01
Überprüfen Sie, ob Sie das folgende Fragment in Ihrer .bashrc haben (sollte standardmäßig vorhanden sein)
sudo vim /etc/bash.bashrc (geben Sie "i" ein, um die Datei zu bearbeiten)
7 Zeilen oben auskommentieren
Datei speichern "esc + w + q + enter"
Starten Sie bash neu
exec bash
quelle