我使用的是 ubuntu 13.04,在这个版本中,shell 的命令历史记录在关闭时会被删除。
有人可以告诉我如何防止这种情况发生吗?
答案1
在 Bash 提示符处,键入以下命令并执行每条命令后列出的步骤:
set -o | grep history
如果您得到“历史记录关闭”,请在您的末尾添加此行~/.bashrc
:
set -o history
下一步尝试:
echo $HISTFILE
echo $HISTSIZE
echo $HISTFILESIZE
如果第一个为空或/dev/null
,请将此行添加到您的末尾~/.bashrc
:
HISTFILE=$HOME/.bash_history
如果最后两个中的任何一个打印 0,请将它们设置为某个数字,例如默认值 500:
HISTFILESIZE=500
HISTSIZE=500
source .bashrc
保存后别忘了~/.bashrc
答案2
我刚刚遇到的另一个可能的问题是您的.bash_history
文件可能由 root 用户拥有:
$ ls -l $HISTFILE
-rw------- 1 root root 9558 Jun 21 21:56 /home/ubuntu/.bash_history
解决方案是将chown
其返回给您的用户和组:
$ sudo chown ubuntu:ubuntu /home/ubuntu/.bash_history
$ ls -l $HISTFILE
-rw------- 1 ubuntu ubuntu 9558 Jun 21 21:56 /home/ubuntu/.bash_history