Étant un utilisateur Linux passionné avant d'acheter un MacBook Pro, j'ai généralement plusieurs onglets de terminal ouverts à tout moment.
Dans le passé, les plantages et les redémarrages réduisaient généralement mon flux de travail et la majorité de mes historiques d'onglets respectifs. J'ai cherché des moyens de résoudre ce problème mais je suis toujours venu vide; en dehors de diverses techniques que les combinaisons utilisées d'outils comme ssh
, screen
, tmux
et requis un serveur privé virtuel (ou similaire).
Une de mes choses préférées à propos de l'utilisation de mon MacBook Pro pour écrire des scripts, utiliser des outils CLI, etc; est que mes sessions de terminal persistent au-delà des plantages et des redémarrages par défaut. En fait, je viens de restaurer une sauvegarde d'il y a presque 2 ans, et quand je me suis connecté pour la première fois, on m'a présenté mon ancien bureau et trois bash
shells qui comprenaient un projet sur lequel je travaillais il y a tout ce temps.
Je voudrais savoir comment OS X rend cette fonctionnalité possible. Quelqu'un ici a-t-il une idée de son fonctionnement?
/etc/bashrc_Apple_Terminal
? J'aime particulièrement ça.# 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.
C'est autre chose que j'ai essayé de mettre en œuvre auparavant, mais en vain.trap
pour attraper la fin d'une session et stocker son historique dans un fichier spécifique à l'onglet / session.Pour autant que je sache, il enregistre simplement le texte dans le tampon de défilement de chaque fenêtre. Il n'enregistre pas réellement l'état de ce qui était en cours d'exécution dans les terminaux; il démarre juste un nouveau shell après le redémarrage.
À titre expérimental, définissez une variable dans votre shell et vérifiez sa valeur:
Redémarrez ensuite et vérifiez à nouveau la valeur de la variable. Vous verrez que ce n'est plus défini.
la source