Die Fertigstellung der Bash-Registerkarte beendet die Suche

8

Wenn ich in bash tippe und die Tabulatortaste drücke, um automatisch zu vervollständigen, dauert es manchmal sehr lange. Zum Beispiel dauert das Lesen von Verzeichnissen für Datei-E / A> 5 Sekunden, und daher muss ich warten, bis die E / A abgeschlossen ist, bevor ich mit der Eingabe fortfahren kann. Ich bin frustriert und Strg-C, damit ich wiederholen kann, was ich geschrieben habe.

Strg-C ist unglücklich, da ich alles noch einmal eingeben muss. Wie kann ich bash anweisen, nicht mehr zu versuchen, meine automatische Vervollständigungsanforderung zu erfüllen?

$ /long/path/to/some/d     # once I've typed this, I press <TAB>. I now will be
                           # stuck waiting for perhaps 10 seconds. The only thing I
                           # know to do is Ctrl-C. When I press Ctrl-C, I am forced
                           # to retype the original command string.
$
Chris
quelle
Vielleicht möchten Sie einen Blick darauf werfen. ubuntuforums.org/showthread.php?t=1865538
Ramesh

Antworten:

1

Ich habe das gerade hier gefunden .

Verwenden Sie Ctrl+\. Es wird die Fertigstellung stoppen und zur Befehlszeile zurückkehren, ohne den aktuellen Befehl zu verlieren.

Robin Thoni
quelle
Leider hat das bei Ubuntu nicht funktioniert
Josh
0

Sie können ähnliche Probleme haben, ohne die Registerkarte zu vervollständigen. Dies führt zu keinem technischen Unterschied, dh es gelten die gleichen Lösungen.

Eine Möglichkeit besteht darin, die Suche im Hintergrund zu starten und das Ergebnis in ein FIFO zu schreiben. Sie können dann mit einer Zeitüberschreitung aus dem FIFO lesen ( read -t 0.3 ...).

Ich glaube, ich habe hier in letzter Zeit eine einfachere Lösung als FIFOs gesehen ... aber derzeit erinnere ich mich nicht daran. read -tfunktioniert auch mit einer Pipeline, aber das Fertigstellen von beendet readnicht die früheren Teile der Pipeline und die Pipeline kehrt erst zurück, nachdem alle ihre Teile fertig sind.

Hauke ​​Laging
quelle
Wie ist das für die Frage relevant?
Lensovet
@lensovet Wenn es anscheinend keine Möglichkeit gibt, das Problem auf die angeforderte Weise zu lösen (dh die Suche abzubrechen), erscheint mir ein Hinweis, wie das Problem (zumindest teilweise) vermieden werden kann, sehr nützlich.
Hauke ​​Laging