Wie schreiben die Terminals im GUI-Modus die Verlaufsdatei dieses Benutzers neu, wenn für einen Benutzer mehr als ein Terminal geöffnet ist? Der Grund, den ich frage, ist, dass es durchaus möglich ist, dass der Benutzer in jedem der Terminals unterschiedliche Befehle ausführt. Speichert die Verlaufsdatei also die Befehle aller Terminals oder nur der ersten, die geöffnet werden? Oder gibt es eine andere Methode, um diese Situation anzugehen?
15
shopt -s histappend
nicht?Ich hatte diese Idee ursprünglich aus dem O'Reilly-Buch "Unix Power Tools".
In meinem
.profile
setze ich:Jedes Mal, wenn ich
.profile
gelesen werde, erhalte ich eine neue Verlaufsdatei mit der PID meiner Sitzung. Wenn ich mehrere Anmeldungen habe, erhält jede Anmeldung eine eindeutige Verlaufsdatei. Funktioniert inksh
undbash
.Wenn Sie in einer X-Sitzung nur neue Terminals öffnen, handelt es sich normalerweise nicht um Anmeldeshells. Sie können sie jedoch so konfigurieren, dass sie als Anmeldeshells fungieren. Zum Beispiel
rxvt +ls
wirdrxvt
als Login-Shell gestartet . Überprüfen Sie die Dokumentation für jedes Terminal, das Sie verwenden.Auch wenn Sie nicht eine
.logout
oder.bash_logout
Datei (oder ein anderes Mittel) zum Bereinigen verwenden, werden Sie irgendwann eine Menge.sh_hist
Dateien haben.quelle
tcsh
:set savehist = (5000 merge)
verschmilztquelle