Soweit ich das beurteilen kann, ist jede Antwort hier nicht portierbar. Betrachten Sie für eine tragbare Option die POSIX-Garantie fc
:
$ man fc
−e editor Verwenden Sie den vom Editor benannten Editor , um die Befehle zu bearbeiten. Die Editorzeichenfolge ist ein Dienstprogrammname, der über die PATH- Variable gesucht werden muss... Der Wert in der FCEDIT- Variablen wird standardmäßig verwendet, wenn −e nicht angegeben wird. Wenn FCEDIT null oder nicht gesetzt ist, wird ed als Editor verwendet.
−l (Der Buchstabe ell.) Listen Sie die Befehle auf, anstatt einen Editor für sie aufzurufen. Die Befehle müssen in der durch den ersten und letzten Operanden angegebenen Reihenfolge geschrieben werden, die von −r beeinflusst wird , wobei jedem Befehl die Befehlsnummer vorangestellt wird.
−n Unterdrückt Befehlsnummern, wenn Sie mit −l auflisten.
−r Kehrt die Reihenfolge der aufgelisteten (mit −l ) oder bearbeitetenBefehle (weder mit −l noch mit −s ) um .
−s Führen Sie den Befehl erneut aus, ohne einen Editor aufzurufen.
OPERANDEN
first , last
Wählen Sie die Befehle aus, die aufgelistet oder bearbeitet werden sollen. Die Anzahl der vorherigen Befehle, auf die zugegriffen werden kann, wird durch den Wert derVariablen HISTSIZE bestimmt. Der Wert des ersten oder letzten oder beider muss einer der folgenden sein:
[+ oder-] Nummer
Eine positive (oder negative ) Nummer, die eine Befehlsnummer darstellt; Befehlsnummern können mit derOption −l angezeigt werden... Zum Beispiel ist −1 der unmittelbar vorherige Befehl ...
Wenn die Option −l zum Auflisten von Befehlen verwendet wird, muss das Format jedes Befehls in der Liste wie folgt sein:
"%d\t%s\n", <line number>, <command>
Wenn sowohl die Optionen −l als auch −n angegeben sind, lautet das Format jedes Befehls wie folgt:
"\t%s\n", <command>
Wenn die besteht aus mehr als einer Zeile, die Zeilen nach der ersten werden angezeigt als:
"\t%s\n", <continued-command>
Verwenden Sie jedoch unbedingt -l oder -e, wenn Sie Ihre Befehle NUR anzeigen / bearbeiten möchten. Standardmäßig fc
wird die in FCEDIT angeforderte Befehlsliste geöffnet (beachten Sie, dass sie sich von Ihrer EDITOR- Umgebungsvariablen unterscheidet), und wenn FCEDIT beendet wird, fc
werden die bearbeiteten Befehle ausgeführt.
Die Antwort auf diese Frage könnte jedenfalls lauten:
% fc -l -1
Oder ohne Zeilennummern:
% fc -ln -1
Oder die letzten fünf Befehle in umgekehrter Reihenfolge:
% fc -lrn -1 -5
In Ihrem Pager:
% fc -lrn -1 -5 |$PAGER
Für Ihren letzten Anruf bei fc
:
% fc -l fc