Manchmal verwende ich das fc
eingebaute bash
(3.2, wenn das wichtig ist), um Befehle aus dem Verlauf abzurufen . Dies bietet auch die Möglichkeit, vor der Ausführung zu bearbeiten.
Zum Beispiel durch Eingabe
fc 23 27
Ich kann Befehl 23 bis 27 erneut ausführen. Jetzt möchte ich diesen speziellen fc 23 27
Befehl erneut ausführen . Wie soll ich das machen Es sieht so aus, als ob die ausgeführte fc
Datei nicht im Befehlsverlauf gespeichert ist, obwohl die neu ausgeführten Zeilen dies sind.
bash
command-history
Bernhard
quelle
quelle
fc
. Vielen Dank für die Aufklärung :)Antworten:
Fügen Sie dies Ihrer .bashrc hinzu:
quelle
Versuchen Sie, Ihre
fc 23 27
Geschichte hinzuzufügen , und rufen Sie sie später erneut auf:fc -s 4090
läuft also eigentlichfc 4074 4076
aber nur in dieser sitzung. Wenn Sie sich abmelden und erneut anmelden, ändern sich die Verlaufsbefehlsnummern. Zumindest wie ich es getestet habe. (wahrscheinlich wenn BASH_HISTSIZE erreicht ist)Um zu vermeiden, dass falsche Befehle ausgeführt werden, empfehle ich, Ihre Befehle aus dem Verlauf in einem Shell-Skript mit zu speichern
fc -n -l id id > ~/bin/something.sh
quelle
fc --keepinhistory 22 34
oderexport HISTNOTIGNORE=fc
. Aber anscheinend existiert das nicht.fc
Befehl zum Verlauf hinzugefügt wird.