Tip: Bash remembering history across sessions
Two separate friends just had this problem, one of them a fairly experienced Linux user:You're in bash, history works, but it's not remembered across sessions. Why?
Maybe the size of the history file somehow got set to zero?
$ echo $HISTFILESIZE 500Nope -- that's not it.
Maybe it's using the wrong file. In bash you can set $HISTFILE to point to different places; for instance, you can use that to maintain different histories per window, or per machine.
$ echo $HISTFILE /home/username/.bash_historyNope, that's not it either.
The problem, for both people, turned out to be really simple:
$ ls -l $HISTFILE -rw------- 1 root root 92 2007-08-20 14:03 /home/user/.bash_history
I'm not sure how it happens, but sometimes the .bash_history file becomes owned by root, and then as a normal user you can't update your history any more.
So a simple
$ rm $HISTFILEand you're all set -- history across sessions should start working again.
[ 14:42 Nov 27, 2009 More linux/cmdline | permalink to this entry | ]