Bash command history not working
Solution 1
The commands are not visible because Bash saves history to the .bash_history file only after the shell quits, and this happens very rarely with Guake. There is a simple workaround to make Bash append the history (instead of overwriting the file) after every command
shopt -s histappend
PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
Solution 2
Related, typically how this gets broken is if you sudo a command before you have a .bash_history file, as then it'll get created owned by root instead of your user.
Solution 3
See http://mywiki.wooledge.org/BashFAQ/088 for how to avoid losing history lines, and an explanation of the side-effects of doing so.
Solution 4
It could also be that root:root owns your .bash_history (ROOT SHOULDN'T BE THE OWNER, YOUR USER SHOULD BE THE OWNER!), in that case you need to:
#chown user:user .bash_history
This apparently could happen if you do sudo bash
alot!
Related videos on Youtube
Admin
Updated on September 17, 2022Comments
-
Admin about 1 year
The command history between sessions is not getting saved. I'm using guake and the history for the session is working fine.
I noticed that .bash_history had some commands I executed in
sudo -s
mode and tried the same again and all the commands while in the session got saved so I tried:chmod 777 .bash_history
Now the old commands appear at the start of a session but no new commands are getting saved.
-
Thomas Ward over 12 yearsSo... what exactly are you trying to accomplish? You dont seem to be asking a question here :/
-
Onedinkenedi over 12 yearsMode 777 is unnecessary, it has especially nothing to do with the 'executable' flag (the default mode is 600). The
~/.bash_history
gets written when you log out (to reach the newer commands you can use thehistory
command). But i fail to see the problem too..
-
-
Dediqated about 3 yearsLink is down now. Should this be put in ~/.bashrc?