Sendo um usuário ávido de Linux antes de comprar um MacBook Pro, normalmente tenho várias guias de terminal abertas ao mesmo tempo.
No passado, falhas e reinicializações geralmente jogavam lixo no meu fluxo de trabalho e na maioria dos meus respectivos históricos de guias. Eu procurei maneiras de resolver esse problema, mas sempre aparecia vazio; além de várias técnicas que as combinações utilizadas de ferramentas como ssh
, screen
, tmux
, e exigiu um servidor virtual privado (ou similar).
Uma das minhas coisas favoritas sobre o uso do meu MacBook Pro para escrever scripts e o uso de ferramentas CLI, etc; é que minhas sessões de terminal persistem além de falhas e reinicializações por padrão. Na verdade, eu apenas restaurei um backup de quase dois anos atrás e, quando entrei pela primeira vez, fui presenteado com minha área de trabalho antiga e três bash
shells que compunham um projeto em que eu estava trabalhando há muito tempo.
Gostaria de saber como o OS X torna esse recurso possível. Alguém aqui tem uma visão de como isso funciona?
/etc/bashrc_Apple_Terminal
? Eu gosto especialmente disso.# 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.
Isso é outra coisa que eu tentei implementar antes, mas sem sucesso.trap
para capturar o final de uma sessão e armazenar seu histórico em um arquivo específico da guia / sessão.Até onde eu sei, ele apenas salva o texto no buffer de rolagem de cada janela. Na verdade, ele não salva o estado do que estava sendo executado nos terminais; apenas inicia um novo shell após a reinicialização.
Como experiência, defina uma variável no seu shell e verifique seu valor:
Em seguida, reinicie e verifique o valor da variável novamente. Você verá que não está mais definido.
fonte