Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I run Ubuntu 12.04, and for some reason bash does not keep my command history. the ~/.bash_history file contains only 3 commands that I typed a few months ago.

How can I fix this?

EDIT: here's the relevant content of my .bashrc:

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
share|improve this question
    
Check your bash history settings in .bashrc. –  jokerdino Oct 24 '12 at 15:18
    
@jokerdino thx, I edited the question. It's the standard settings (I didn't touch them). –  yohbs Oct 24 '12 at 15:25
    
What is the output of "echo $SHELL"? –  BryceAtNetwork23 Oct 24 '12 at 15:25
    
@BryceAtNetwork23 /bin/bash –  yohbs Oct 24 '12 at 15:26
2  
Another thing to try is to check the permissions of ~/.bash_history –  reverendj1 Oct 24 '12 at 16:48

2 Answers 2

up vote 6 down vote accepted

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 magically when you do sudo bash a lot!

share|improve this answer
    
Wow, I completely gave up on this and forgot about it... +1 and accept. –  yohbs May 17 '13 at 19:04
    
Yeah this apparently happens when you do sudo bash a lot! :-) –  mahatmanich May 22 '13 at 14:58

Assuming you're using gnome-terminal??, if so maybe check the permissions on .bash_history. It should be -rw-r--r--

To do so in a terminal ls -la |grep .bash, all 3 files should have the above permissions. Otherwise try deleting .bash_history, restart & see if a history is then written

Note that the history is only written once the terminal is closed or quit.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.