ändere das erste Wort des vorherigen Befehls

ändere das erste Wort des vorherigen Befehls

Ich gebe beispielsweise ein

cat /very/long/path/textfile

und gleich danach entscheide ich mich, den nächsten Befehl zu geben

rm /very/long/path/textfile

Meine Frage lautet also: Was ist der einfachste/schnellste Weg, das erste Wort eines vorherigen Befehls zu ersetzen? (ohne Pfeiltasten oder Kopieren und Einfügen)

Es sollte für jeden Befehl funktionieren (cat, rm und textfile dienen nur diesem Beispiel, es müssen nicht diese sein)

Antwort1

Angenommen, Sie verwenden eine Shell mit einem Standardverlaufsmechanismus (z. B. Bash, C-Shell, …), geben Sie den neuen Befehl (z. B. rm) gefolgt von ein !*. Geben Sie man bash, man csh, oder was auch immer für Sie geeignet ist, ein, um weitere Details anzuzeigen (und es gibtvielevon ihnen).

Antwort2

Wenn Sie Bash verwenden, können Sie eingeben, <Esc>_um das letzte Argument des vorherigen Befehls abzurufen. Sie können auch die Variable verwenden $_.

Ein anderer Ansatz besteht darin, den vorherigen Befehl mit abzurufen Ctrl-P, dann Ctrl-Amit zum Anfang des Befehls zu gelangen, anschließend Alt-Ddas erste Wort zu löschen, das neue erste Wort (den Befehlsnamen) einzugeben und die Eingabetaste zu drücken.

Antwort3

Wenn Sie Bash oder Sh verwenden, können Sie den ersten Befehl eingeben und dann „Alt“ mit „.“ (Punkt) drücken, um das letzte Argument des vorherigen Befehls zu erhalten.

cat /very/long/path/textfile

um das letzte Argument des vorherigen Befehlstyps zu verwenden

rm "Alt+." und Sie erhalten

rm /very/long/path/textfile

verwandte Informationen