
In Bash können Sie mit den Pfeiltasten nach oben (und unten) durch den Verlauf blättern. Sie können den Befehl dann ändern, bevor Sie ihn ausführen. Manchmal habe ich den Befehl falsch geändert und möchte ihn auf den ursprünglichen Stand im Verlauf zurücksetzen. Gibt es eine Möglichkeit, dies zu tun?
Ich habe versucht, eine leere Zeile auszuführen und dann den Verlauf erneut zu durchlaufen, aber die entsprechende Zeile bleibt bearbeitet.
Antwort1
Rückgängig machen ist Cx Cu (oder C-_, wofür Sie möglicherweise C-/ eingeben müssen)
Antwort2
Die Datei, die den Bash-Verlauf enthält, ist passenderweise „~/.bash_history“ (zumindest in Ubuntu, kann in anderen Versionen anders sein). Öffnen Sie sie einfach mit Ihrem bevorzugten Texteditor. Beachten Sie, dass jeder Benutzer seine eigene .bash_history-Datei haben sollte. Beachten Sie auch, dass das vorangehende „.“ bedeutet, dass es sich um eine versteckte Datei handelt. Sie wird also nicht in einem Dateibrowser oder mit dem Befehl ls angezeigt, es sei denn, Sie verwenden sie mit -a.
Antwort3
Diese Bindung verhindert, dass nicht ausgeführte Verlaufsänderungen die Originale überschreiben:
bind 'set revert-all-at-newline on'
Beispiel:
- Ausführen
ls
- Pfeil nach oben drücken
-Al
Zur Zeile hinzufügen- Pfeil nach unten drücken
- Drücken Sie die Eingabetaste (um zu versuchen, die Änderung abzubrechen).
Ohne diese Bindung
ls
wird: im Verlauf durch ersetzt ls -Al
, obwohl es nie ausgeführt wurde.
Mit dieser Bindung:
Das nicht Ausgeführte ls -Al
verschwindet, während etwas ls
übrig bleibt.
Offensichtlich bedeutet dies, dass nicht ausgeführte Änderungen an der Historieniemalsgespeichert werden (wie zshs Standardverhalten). Wenn Sie nur die Originale wiederherstellen möchtenManchmal, müssen Sie sich für eine der anderen Antworten entscheiden.