Es gibt mehrere Ebenen, in denen Sie nach dem letzten Befehl fragen können.
Zeileneditor
Der Zeileneditor (in den Sie Ihre Befehle eingeben) wird direkt von ksh, von der Bibliothek readline in bash und von der Bibliothek zle in zsh bereitgestellt. Andere Shells, z. B. Dash, verfügen möglicherweise nicht über eine Bearbeitungsbibliothek, um diese Schlüssel zu verstehen (sofern sie nicht mit --with-libedit
aktivierter Option kompiliert wurden ).
Diese Arbeit in ksh, bash, zsh:
Ctrl- P# Emacs-Modus (vorherige)
Ctrl- N# Emacs-Modus (nächste)
ESC- k # vi-Modus ESC zum Wechseln in den Befehlsmodus und k zum Hochfahren
ESC- j # vi-Modus ESC zum Wechseln in den Befehlsmodus und j zum Runterfahren
Geschichte
Das von vielen Shells bereitgestellte Verlaufssystem ermöglicht die Erweiterung einiger Verknüpfungen:
!! # bash and zsh, may be provided by `alias \!\!='fc -e -'` in ksh.
!-1 # bash and zsh only
befehle
Es gibt einige Befehle, die Verlaufsbefehle abrufen können.
Wie der ziemlich ausführliche Befehl (nur zum Drucken):
history 2 | head -n-1
oder der ältere und daher meist portablere fc
Befehl (wird direkt neu ausgeführt):
fc -e - -1
Oder vielleicht die einfachere fc -s -1
, aber zsh akzeptiert keine solche Option für fc.
Wenn Sie nur wollen, drucken Sie den Befehl verwenden: fc -nl -1 -1
.
So bearbeiten, stellen Sie FCEDIT
in einen Texteditor (ex, ed, Emacs, vi, etc.) und verwenden fc direkt: fc -1
.