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.