Minha história de bash parou misteriosamente de funcionar, e eu não tenho ideia de como consertar isso. Isto é o que meu .bashrc se parece:
HISTSIZE=500
HISTFILESIZE=500
HISTFILE=$HOME/.bash_history
No entanto, quando eu executo echo $HISTFILE
, ele imprime /Users/myusername/.bash_sessions/EE8689E5-7DAD-4018-817E-0AF1DE36082A.historynew
.
Eu sou o proprietário do arquivo .bash_history, por isso não tenho certeza de como resolveria esse problema.
Obrigado!
Terminal atribui a cada sessão de terminal um identificador único e comunica-a através da variável de ambiente TERM_SESSION_ID para que os programas executados em um terminal possam salvar/restaurar o estado específico do aplicativo ao sair e reiniciar o Terminal com Continuar ativado.
Uma nova pasta (~/.bash_sessions /) é usada para armazenar os arquivos HISTFILE e .session que são exclusivos das sessões.
Durante a inicialização do Shell, o arquivo de sessão é executado. Arquivos antigos são excluídos periodicamente.
O comportamento padrão permite salvar e restaurar o histórico do comando bash independentemente para cada sessão de terminal restaurada. Também mescla comandos no histórico global para novas sessões.
Você pode desabilitar esse comportamento e compartilhar um único histórico, definindo
export Shell_SESSION_HISTORY=0
Se HISTTIMEFORMAT for definido, o histórico por sessão é desativado por padrão (leia mais em/private/etc/bashrc_Apple_Terminal)
O mecanismo de salvamento/restauração é desativado se o seguinte arquivo existir:
~/.bash_sessions_disable
A Apple já mudou algum comportamento desde o lançamento do El Capitan, então é melhor ler mais sobre isso aqui less /private/etc/bashrc_Apple_Terminal
Eu notei algo semelhante após o upgrade do El Capitan. Basta adicionar o arquivo .bash_sessions_disable
no seu diretório inicial para desativar as novas sessões de bash e o .bash_history
está de volta ao uso.
Este Reddit thread tem mais informações e links adicionais.
Você pode resolver o problema do RVM atualizando para a versão mais recente do RVM ou executando o seguinte:
echo 'Shell_session_update' > $HOME/.bash_logout
Veja https://github.com/rvm/rvm/issues/354 para mais informações.
Esta resposta do Reddit thread = me salvou:
É provavelmente o RVM impedindo a saída "hook" para que o bash_sessions seja executado. Se você comentar a seguinte linha no seu .bash_profile, isso deve funcionar.
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
Eu estava vendo esse problema na High Sierra. De alguma forma, a minha própria .bash_history tinha se tornado propriedade do root e nem mesmo possuía permissões de leitura para outros usuários (quando o conteúdo do diretório home era visualizado com ls -al)
Não havia nada de importante nesse arquivo .bash_history, então fiz um Sudo rm .bash_history seguido de um toque .bash_history para criar um novo.
Tudo parece bem agora
Se for um Mac, suponho que seja o login padrão. O Shell é bash
e executa .profile
em vez de .bashrc
. Então, você estava editando o arquivo errado.