Ich habe gerade die Readline-Manpage gelesen und eine Reihe großartiger Befehle entdeckt, von denen ich nichts wusste. Einige haben jedoch keine Standardschlüsselbindungen. Gibt es eine Möglichkeit, die ungebundenen Befehle von der Shell auszuführen?
Ich frage nicht, wie man den Befehl in ~ / .inputrc bindet, sondern wie man ihn als "one off" aus der Shell oder in einem Bash-Skript ausführt.
Zum Beispiel der Befehl "dump-variables". Gibt es einen Befehl, an den ich "dump-variables" als Argument übergeben kann, damit er ausgeführt wird?
Antworten:
Ich glaube, was Sie suchen, ist der
bind
Befehl selbst. Lautman builtin
Informationenbind <readline-command>
können Sie mit running einmalige Aktionen ausführen. Ich konnte es jedoch nicht so zum Laufen bringen, wie es das Handbuch vorschreibt. Es hat immer wieder dazu geführt, dass die Schlüssel für mich nicht funktionierten. Ihr Kilometerstand kann variieren. Ich habe die folgenden Befehle gefunden, die für Sie von Nutzen sein können.Anmerkung bearbeiten Ich möchte darauf hinweisen, wie ärgerlich es ist, dass es nicht so funktioniert, wie es das Handbuch vorschreibt, denn wenn Sie eintippen
bind
und dann die Tabulatortaste für die automatische Vervollständigung drücken, werden alle Befehle angezeigt.quelle
bind readline-command
: Ich vermute, dasscommand
es sich um eine Definitions- (Zuordnungs-) Zeile handelt, nicht um eine direkt aufrufbare readline- Funktion . Die automatische Vervollständigung ist auf einigen Plattformen (z. B. Fedora 20) ausdrücklich vorkonfiguriert , auf vielen anderen jedoch nicht . Das Vorhandensein bedeutet NICHT, dass Sie readline-Funktionen direkt aufrufen können - es ist eine ziemlich "dumme" Befehlsabschlussspezifikation: Der Abschluss funktioniert mit jedem Argument, das an übergeben wirdbind
.-X
für Shell - Befehle (definiert über-x
).