Hin und wieder wäre es nützlich, einen Befehl direkt in den Verlauf von Bash einzufügen, ohne ihn tatsächlich auszuführen. Bisher habe ich festgestellt, dass das Geschlossene darin besteht, ein #
davor einzufügen und die Return-Taste zu drücken. Gibt es bessere Wege?
bash
command-history
Grumbel
quelle
quelle
./resize-images.sh
dessen letzte Zeile gibt einen Befehl sollten Sie die Änderungen rückgängig machen , laufen, wäre es sehr nützlich sein , wenn stattdessen das Skript den Befehl zu meiner Geschichte hinzufügen könnte so schlug ich nur ,up-enter
wenn ich rückgängig machen musstehistory -s
BefehlSie können sogar einen Tastenanschlag drücken, um dies für Sie zu tun. Sie können dies an einer Bash-Eingabeaufforderung eingeben:
oder füge dies zu deinem hinzu
~/.inputrc
:Dann können Sie etwas eingeben und drücken Ctrl- qund es wird dem Verlauf hinzugefügt, ohne dass es ausgeführt wird. Das Leerzeichen vor "history" bewirkt, dass der
history
Befehl selbst nicht zum Verlauf hinzugefügt wird, wenn IhreHISTCONTROL
Variableignorespace
or enthältignoreboth
. Anstelle von "\ Cq" könnte ein anderer Tastenanschlag gewählt werden.quelle
Es ist schwer, etwas zu finden, das kürzer ist als ein "Befehl" mit einem Zeichen, daher müssen wir wirklich zur Tastenanschlagebene gehen. Mit meinem Bash-Setup und einer US-Tastatur erledigen Sie Folgendes:
#
(benötigt SHIFT): +1 Anweisung, +2 Tastendruckalso insgesamt 3 anweisungen, 5 tastendrücke.
Die Verwendung von ALT#bewirkt dasselbe in 1 Anweisung und 2 Tastendrücken.
YMMV abhängig von Ihrem Tastaturlayout und Ihrer Bash-Konfiguration.
quelle
#command
viel schneller alshistory -s command
und auch sehr einfach ist, wenn Siehistory-search-backward/-forward
richtig abbilden . Aber es ist Geschmackssache.