In UNIX-Systemen können Sie die oberen und unteren Pfeile drücken, um durch die vorherigen Befehle zu navigieren. Das ist sehr praktisch.
Manchmal gehe ich nach oben und finde einen Befehl, den ich wieder verwenden möchte, aber mit einigen Variationen. Wenn ich solche Änderungen vornehme, kann ich den ursprünglichen Befehl nur zurückerhalten, wenn ich ihn einchecke history
.
Gibt es eine Möglichkeit, die Änderungen am Befehl im Verlauf, auf den über Schlüssel zugegriffen wird, rückgängig zu machen?
Meine aktuelle Problemumgehung besteht darin, a voranzustellen #
, dem Befehl zu haben. Auf diese Weise wird der aktuelle Befehl als Kommentar ausgeführt, sodass nichts passiert. Dann kann ich mit den Tasten noch einmal durch die Befehle blättern. Das Problem ist, dass der Befehl, den ich verwendet habe, in der Liste möglicherweise sehr weit entfernt ist. Daher ist es ein bisschen, zweihundert Mal wieder nach oben zu gehen. Control + R ist auch keine Lösung, da ich mich möglicherweise nicht genau daran erinnere, wonach ich gesucht habe.
Beispiel
Ich habe Folgendes eingegeben: "Vor 50 Befehlen":
ls -l /etc/httpd/conf/
Jetzt ging ich zu dieser Zeile und änderte sie in
ls -l /etc/init.d/
drückte aber nicht die Eingabetaste. Jetzt möchte ich wieder zum kommen ls -l /etc/httpd/conf/
.
Meine Umgebung
$ echo $SHELL
/bin/bash
$ echo $TERM
xterm
ksh
scheint sich das Verhalten hier zu unterscheiden. Die Optionen für die Verlaufsbearbeitung hängen auch vom ausgewählten Bearbeitungsmodus ab. Im ksh
vi-Modus zum Beispiel wird der alte Eintrag nicht überschrieben, und ich kann auch einen Rückgängig-Befehl wie in vi
mit 'u' ausgeben .
ksh
, aber es ist gut zu wissen, dass es so etwas dort gibt.
ksh
können Sie beispielsweise Verlaufseinträge bearbeiten und aufrufen, ohne die "vorherige Version" des Eintrags zu löschen. Sie haben alle aufgerufenen Befehle zur Verfügung.