Wie können wir dieselbe Historie über mehrere Terminals hinweg beibehalten oder beibehalten?
Dieselbe Frage, jedoch für die Bash-Shell, wurde im folgenden Link erörtert
Bewahren Sie den Bash-Verlauf in mehreren Terminalfenstern auf
Lass mich die entsprechenden Einstellungen für die tcsh Shell wissen?
command-history
tcsh
user1228191
quelle
quelle
history
finden Sie unterman tcsh
. Wennhistory -S
Sie nach suchen, sollten Sie zum relevantesten Teil springen.Antworten:
Diese Variablen legen den Verlauf so fest, dass er sich selbst zusammenführt, anstatt ihn zu überschreiben, und keine Duplikate speichert:
Die geheime Sauce ist diese Zeile:
Dadurch wird Ihr Verlauf vor dem Drucken der Eingabeaufforderung gespeichert und zusammengeführt, dh nach jedem von Ihnen eingegebenen Befehl.
Alle oben genannten Elemente sollten zu Ihrer .tcshrc- Datei hinzugefügt werden.
quelle
alias precmd 'history -S; history -M'
nichts, als ich einen Befehl schrieb. Gibt es noch etwas, das getan werden sollte?.history
Datei (oder derhistfile
Shell-Variablenwert, falls festgelegt), die auf die Festplatte geschrieben wird. Ohne den festgelegtenprecmd
Aliasls -l .history
wird die.history
Datei als unberührt angezeigt. Mitprecmd
Set wie oben,ls -l .history
zeigt die aktualisierte Zeitstempel und Größe, wie es mit jedem Befehl geschrieben wird.Zusätzlich zur Antwort von Idan möchte ich hinzufügen, dass
alias precmd 'history -S; history -M'
die Verlaufsdatei möglicherweise durcheinander gebracht werden kann, da sie auch das SIGINT- und EOF-Signal (Strg + C und Strg + D) aufzeichnet.Ein besserer Weg wäre das Speichern und Zusammenführen des aktuellen Shell-Verlaufs nach dem Ausführen eines Befehls.
Sie können dies stattdessen mit diesem Setup erreichen, da der tcsh SIGINT oder EOF nicht als gültigen Befehl erkennt.
quelle