我的 bash 历史记录突然出现问题。当我输入 时history
,它只显示:
1 history
我尝试了以下命令:
set -o | grep history
echo $HISTFILE
echo $HISTSIZE
echo $HISTFILESIZE
我分别得到了以下结果:
history on
/home/mary/.bash_history
1000
2000
我还在 bashrc 中添加了以下几行:
# Avoid duplicates
HISTCONTROL=ignoredups:erasedups
# When the shell exits, append to the history file instead of overwriting it
shopt -s histappend
# After each command, append to the history file and reread it
PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND$'\n'}history -a; history -c; history -r"
一切似乎都正常,但我无法回滚来检索命令,原因似乎是历史记录中没有保存任何内容,这就是为什么命令历史记录不包含任何内容。
你能帮我解决这个问题吗?
答案1
答案在于bash_history
root 的所有权。我做了:
sudo chown mary:mary /home/mary/.bash_history
问题就解决了。