O histórico é liberado apenas para arquivo quando o shell é encerrado.
Experimente o history
bash incorporado para acessar o histórico de comandos mais recente.
Estou usando a 'tela' do utilitário linux (quero dizer, o multiplexador de terminal).
Em cada "janela" da tela, estou executando o bash.
Mas esses bashes não parecem ter nenhum histórico de comandos.
Por exemplo, se eu digitar isso nos bashes da tela:
[gojira@cray]$ date
Mon Jun 6 17:50:51 JST 2011
[gojira@cray]$ grep date ~/.bash_history
[gojira@cray]$
Então ./bash_history simplesmente parece estar vazio.
Onde o histórico de cada bash na tela é armazenado?
O histórico é salvo em $HISTFILE
(padrão ~/.bash_history
). Se esta variável estiver vazia, nenhum arquivo de histórico será criado. O histórico é salvo quando o shell é encerrado, não antes.
Para testar se seu histórico foi ativado ou não, execute:
echo "$HISTFILE"
Você pode querer adicionar shopt -s histappend
ao seu .bashrc.
Isto irá anexar o conteúdo do seu histórico de terminal à sua .bash_history na saída. Caso contrário, o .bash_history será sobrescrito na saída. Isso significa que você pode perder um pouco do histórico de comandos se estiver usando vários shells de uma só vez e fechá-los.
Tags bash gnu-screen