Frage

In der bash Umgebungsvariablen korrekt Tabula erweitern, wenn nach einem Echo-Befehl gegeben, zum Beispiel:

echo $HOME

Aber nach cd oder Katze, bash legt \ vor dem $ -Zeichen, etwa so:

cd \$HOME

Wenn ich eine Variable als zweites Argument auf einen Befehl verwenden, wird es überhaupt nicht erweitern:

cp somefile $HOM

Was mysteriös Option kann ich in meinem .bashrc oder .inputrc-Datei, die mir solche Not verursacht?

War es hilfreich?

Lösung

Versuchen Sie komplett -r cd die besondere programmatische Vervollständigungsfunktion zu entfernen, die viele Linux-Distributionen für den cd Befehl installieren. Die Funktion fügt eine Liste von Verzeichnissen, die Suche in der CDPATH Variable Tab Fertigstellungen für cd angegeben, aber auf Kosten der Standard-Abschluss Verhalten zu brechen.

Siehe http://www.gnu.org/ Software / bash / manual / bashref.html # Programmierbare-Completion für mehr blutigen Details.

Andere Tipps

Was Sie beschreiben, ist ein "Feature" in bash 4.2 eingeführt. Sie hat also keine geheimnisvolle Option Not verursachen, sondern nur „beabsichtigt“ Verhalten.

Ich finde das sehr ärgerlich, da ich ihm die Art und Weise bevorzugte sie verwendet wurde und habe keine Konfigurationsoptionen noch nicht gefunden zurück, um das frühere Verhalten zu bekommen. mit complete Optionen Spiele von anderen Antworten vorgeschlagen, wie haben Sie mich nicht überall.

Für die zweite Instanz, Sie können ESC drücken, bevor Tab es zu lösen.

Ich weiß nicht, die Lösung für Ihr Problem, aber man konnte schauen Sie in / etc / bash_completion oder die Dateien unter /etc/bash_completion.d , um zu bestimmen, was Befehle zur automatischen Vervollständigung und wie.

help complete

könnte auch hilfreich sein.

The Bash Reference Manual hat mehr Informationen, als Sie vielleicht auf Expansion errata.

Abschnitt 8.7 wie es aussieht, wäre der Ort zu starten. Es gibt Auskunft über die ‚vollständig‘ Funktion, unter anderem.

Ich beantworte 4-jährige Frage! Fantastic!

Dies ist ein Bash-Bug / Feature, die unbeabsichtigt in v4.2 eingeführt wurde, und war lange Zeit unbemerkt. Dies wurde durch geirha in diese Lauffläche hingewiesen. Bestätigt als unbeabsichtigte Funktion hier

Ich kam in dieses Problem, wenn Ubuntu zu Hause läuft. Bei der Arbeit habe ich bash-3.00, also habe ich einige Zeit gerade um verbracht, um zu sehen, was los ist. Ich frage mich, ob ich das kann ‚Herabstufung‘ ....

Überprüfen Sie die Antwort für https://superuser.com/questions/434139/urxvt-tab-expand-environment-variables von Dmitry Alexandrov:

  

Dies ist etwa direxpand Option. $ shopt -s direxpand und $FOO_PATH/ wird durch TAB erweitert werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top