shell 保存tmux每日历史记录

5vf7fwbs  于 11个月前  发布在  Shell
关注(0)|答案(1)|浏览(139)

我经常会在tmux会话中运行几天,我喜欢每天保存我的bash历史记录(我使用logrotate)。除非必要,我不会退出tmux会话。我能以某种方式保存我那天的tmux历史记录而不退出会话吗?每天,也许可以强制tmux写入.bash_history而不退出会话?
我试过:save-buffer /home/me/tmux-hist.txt,但似乎只有保存最后一个命令?

ffscu2ro

ffscu2ro1#

不知道这个问题是否是这个论坛的问题,但我设法解决了它,所以这里是解决方案:
这不是tmux问题,而是shell/bash“问题”。将此添加到.bashrc:

## Issues with tmux history
# avoid duplicates..
export HISTCONTROL=ignoredups:erasedups
# append history entries:
shopt -s histappend
# After each command, save and reload history:
export PROMPT_COMMAND="history -a; history -n; $PROMPT_COMMAND"

字符串
这样,在tmux窗口/窗格中运行的命令会立即添加到历史记录中。如果您在窗格1中运行“echo 1”,然后在窗格2中运行“echo 2”,您也会在窗格2历史记录中看到“echo 1”。然后通过logrotate保存每日历史记录。

相关问题