Als begeisterter Linux-Benutzer habe ich vor dem Kauf eines MacBook Pro in der Regel mehrere Terminal-Registerkarten gleichzeitig geöffnet.
In der Vergangenheit haben Abstürze und Neustarts in der Regel meinen Workflow und den Großteil meiner jeweiligen Registerkartenverläufe in Mitleidenschaft gezogen. Ich suchte nach Wegen, um dieses Problem zu lösen, kam aber immer leer aus; abgesehen von verschiedenen Techniken , die verwendeten Kombinationen von Werkzeugen wie ssh
, screen
, tmux
und ein Virtual Private Server (oder ähnlich) erforderlich.
Eine meiner Lieblingsbeschäftigungen bei der Verwendung meines MacBook Pro zum Schreiben von Skripten und der Verwendung von CLI-Tools usw .; ist, dass meine Terminalsitzungen über Abstürze hinaus bestehen und standardmäßig neu gestartet werden. Tatsächlich habe ich gerade ein Backup von vor fast 2 Jahren wiederhergestellt, und als ich mich zum ersten Mal anmeldete, wurden mir mein alter Desktop und drei bash
Shells präsentiert, die ein Projekt enthielten, an dem ich die ganze Zeit zuvor gearbeitet habe.
Ich würde gerne wissen, wie OS X diese Funktion ermöglicht. Hat hier jemand einen Einblick, wie es funktioniert?
/etc/bashrc_Apple_Terminal
? Das gefällt mir besonders gut.# The default behavior arranges to save and restore the bash command history independently for each restored terminal session. It also # merges commands into the global history for new sessions.
Das habe ich schon früher versucht, aber ohne Erfolg.trap
, um das Ende einer Sitzung zu erfassen und den Verlauf in einer tab- / sitzungsspezifischen Datei zu speichern.Soweit ich das beurteilen kann, wird nur der Text im Scrollback-Puffer jedes Fensters gespeichert. Es speichert nicht wirklich den Status dessen, was in den Terminals lief. Nach dem Neustart wird nur eine neue Shell gestartet.
Definieren Sie als Experiment eine Variable in Ihrer Shell und überprüfen Sie deren Wert:
Starten Sie dann neu und überprüfen Sie den Wert der Variablen erneut. Sie werden sehen, dass es nicht mehr definiert ist.
quelle