我的 bash 命令历史记录在开始新tmux
会话后停止工作。向上、向下输入、反向搜索时没有先前的命令,运行时没有输出history
。
我已经确认无论.tmux.conf
使用什么文件都会发生这种情况。真正的问题是这种情况持续存在tmux
......也就是说,如果我在没有tmux
bash 命令历史的情况下 ssh 到服务器仍然不起作用。如果我移动我的.bashrc
和.bash_profile
文件(使用系统默认值)并重试,仍然没有历史记录。
我已经验证历史文件上的所有权限都是正确的,我的用户既是所有者又是组,甚至尝试将权限设置为 777 只是为了测试。对于每个测试,我都重新执行了 bash(即没有使用子 shell)。
对于某些情况,这是在我的所有文件复制到新服务器之后发生的。
tmux
另一个线索:在我第一次启动的原始 shell 中,如果我退出tmux
,命令历史记录仍然有效。只有新的 shell 会话才会受到影响。
更多信息:
CentOS release 6.7 (Final)
GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)
tmux 1.6 (other server was 1.4)
set | grep HIST and hist
HISTCONTROL=ignoredups
HISTFILE=/home/my_username/.bash_history
HISTFILESIZE=1000
HISTSIZE=1000
SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
BASHOPTS=checkwinsize:cmdhist:expand_aliases:extquote:force_fignore:hostcomplete:interactive_comments:login_shell:progcomp:promptvars:sourcepath
shopt | grep hist
cmdhist on
histappend off
histreedit off
histverify off
lithist off
任何帮助表示赞赏!