我不知道这是否可以预期,但是我的历史记录并未在所有会话中保存。这就是说,如果我关闭窗口,那么当我再次打开它时,历史记录为空。如何在整个会话中坚持下去?
这是您要求的命令的输出:
set -o | grep history
history on
$ grep -i history ~/.bashrc ~/.bash_profile ~/etc/bash.bashrc ~/etc/profile ~/.profile
/cygdrive/c/cygwin/home/car/.bashrc:# Make bash append rather than overwrite the history on disk
/cygdrive/c/cygwin/home/car/.bashrc:# History Options
/cygdrive/c/cygwin/home/car/.bashrc:# Don't put duplicate lines in the history.
/cygdrive/c/cygwin/home/car/.bashrc:# export PROMPT_COMMAND="history -a"
grep: /cygdrive/c/cygwin/home/car/etc/bash.bashrc: No such file or directory
grep: /cygdrive/c/cygwin/home/car/etc/profile: No such file or directory
/cygdrive/c/cygwin/home/car/.profile:if [ "x$HISTFILE" == "x/.bash_history" ]; then
/cygdrive/c/cygwin/home/car/.profile: HISTFILE=$HOME/.bash_history
$ ls -la ~/ | grep history -> no output
$ echo $HISTFILE
~/.bash_history
$ echo $HISTSIZE
500
$ echo $HISTFILESIZE
500
在下面的答案中描述的编辑之后,我现在得到:
grep -i hist .bashrc
# Make bash append rather than overwrite the history on disk
shopt -s histappend
# History Options
# Don't put duplicate lines in the history.
export HISTCONTROL="ignoredups"
# (added) A new shell gets the history lines from all previous shells
PROMPT_COMMAND='history -a'
# HISTIGNORE is a colon-delimited list of patterns which should be excluded.
我仍然无法跨会话保存历史记录。我阅读了以下问题:
- 使用histappend时Bash历史记录丢失
- 如何防止Bash更改历史记录?
- 什么决定了bash history命令中显示的内容?
- 如何在各个会话之间保持bash历史记录?
- 定期保存bash历史记录
似乎没有人解决我的问题,包括下面那个人的回答,那个人的问题从所谓的副本中得到了回答。
另请参阅此处的问题及其链接的问题。尝试其中的建议,然后再次询问是否仍有问题。在emantime中,投票关闭作为重复项。
—
terdon
编辑:设置-o | grep历史记录显示历史记录处于打开状态,echo $ HISTFILE显示〜/ .bash_history,echo $ HISTSIZE和$ HISTFILESIZE都显示500。但是历史记录在各个会话之间仍然不存在
—
Car981 2013年
$ HISTFILE设置为〜/ .bash_history,但是〜中没有.bash_history文件。怎么会这样 ?
—
Car981
尝试设置特定的历史记录文件,将此行添加到您的
—
terdon
~/.bashrc
:export HISTFILE="~/history"
。这有什么区别吗?