salva la storia di bash, regolarmente


9

Ho impostato bash per salvare la cronologia, in un file. Lo fa ogni volta che bash esce [correttamente]. Poiché a volte bash non esce correttamente, la storia viene persa.

Quindi la domanda è: posso impostare bash per salvare la cronologia più regolarmente?


Sto eseguendo Debian Gnu (versione 6, Squeeze) con un kernel Linux.

versione bash: GNU bash, versione 4.1.5 (1) -release (i486-pc-linux-gnu)

Risposte:


8

salvalo sul tuo bash_profile o bashrc

shopt -s histappend

PROMPT_COMMAND="history -a;$PROMPT_COMMAND"


Questa è ancora una risposta valida? Nel mio sistema, c'è una voce shopt -s histappendsotto /etc/bash/bashrc. Tuttavia, qualsiasi uscita impura delle shell in esecuzione, perde la cronologia della riga di comando.
Nikos Alexandris,

-1

È possibile che il tuo $ HISTFILE sia di proprietà di root. Supponendo che tu stia utilizzando bash come shell di accesso. Ecco come controllare:

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

L'impostazione predefinita per HISTFILE dovrebbe essere ~ / .bash_history, se vedi l'errore "bisogno di impostare HISTFILE" o se $ HISTFILE non è ~ / .bash_history, allora dovresti controllare ~ / .profile o ~ / .bash_profile o ~ /. bashrc per assicurarsi che non venga impostato o ripristinato in modo errato.

Normalmente, è solo di proprietà di root, quindi ripristinalo:

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

Esci quindi accedi.

$ history

Dovrebbe mostrare l'ultimo set di comandi immesso prima che il file appartenesse a root, seguito dai comandi immessi dopo la modifica della proprietà del file.


3
Poiché OP afferma che la cronologia viene salvata quando bash esce normalmente, il suo problema non ha nulla a che fare con le autorizzazioni. Forse la tua risposta potrebbe ancora essere utile per qualcuno che ha problemi con la storia di bash.
Dmitry Grigoryev
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.