Na janela 'screen' (utilitário linux), onde está a .bash_history de janelas individuais?

3

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?

    
por gojira 06.06.2011 / 10:55

3 respostas

1

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.

    
por 06.06.2011 / 23:40
3

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"
    
por 06.06.2011 / 11:10
1

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.

    
por 07.06.2011 / 00:48