salva o histórico do bash, regularmente

7

Eu tenho bash configurado para salvar o histórico, para um arquivo. Ele faz isso sempre que o bash sai [propriamente]. Como às vezes o bash não sai corretamente, a história é perdida.

Então, a questão é: posso configurar o bash para salvar o histórico com mais regularidade?

Eu estou executando o Debian Gnu (versão 6, Squeeze) com um kernel Linux.

versão bash: GNU bash, versão 4.1.5 (1) -release (i486-pc-linux-gnu)

    
por ctrl-alt-delor 19.09.2012 / 16:55

2 respostas

8

salve isso no seu bash_profile ou bashrc

shopt -s histappend

PROMPT_COMMAND="history -a;$PROMPT_COMMAND"

    
por 19.09.2012 / 17:05
-1

É possível que seu $ HISTFILE seja de propriedade do root. Supondo que você esteja usando o bash como seu shell de login. Veja como verificar:

$ [ -z $HISTFILE ] && echo need to set HISTFILE || ls -l $HISTFILE
-rw------- 1 root root 36639 May 21 19:48 /home/joeb/.bash_history

O padrão para HISTFILE deve ser ~ / .bash_history, se você vir o erro "need to set HISTFILE" ou se $ HISTFILE não for ~ / .bash_history, então você deve checar ~ / .profile ou ~ / .bash_profile ou ~ / .bashrc para se certificar de que não está sendo configurado ou redefinido incorretamente.

Normalmente, ele é propriedade do root, portanto, basta redefini-lo:

$ chown joeb.joeb $HISTFILE
$ ll $HISTFILE
-rw------- 1 joeb joeb 36639 May 21 19:48 /home/joeb/.bash_history

Efetue logout e faça login.

$ history

Deve mostrar o último conjunto de comandos digitados antes que o arquivo seja de propriedade de root, seguido pelos comandos inseridos após a propriedade do arquivo ser alterada.

    
por 22.05.2015 / 14:11

Tags