“恢复”bash以搜索正确的历史文件

“恢复”bash以搜索正确的历史文件

我最近决定开始备份我的历史记录是个好主意,并添加了以下内容.bashrc

 export HISTFILE=~/.history/`date +%Y%m%d`.hist
 export HISTSIZE=100000

没问题,似乎按照它所说的去做。

然而,我今天注意到(自从设置 shell 以来,我第一次重新登录到 shell 后),我的实际历史记录history(或在 grep 内部模式时)本身回忆起来,只显示了自登录以来的命令,就好像备份也被删除了.bash_history

当我.bash_history使用 手动检查时less,一切都如我所料。

tail即,a to的输出history是:

wms_joe@Esau:~$ history | tail
48  past dir
49  ll
50  less .bash_history
51  tail .bash_history
52  cp .bash_history history_backup
53  past usearch
54  less ~/.bashrc
55  history
56  tail history
57  history | tail

但是tail.bash_history 给出:

wms_joe@Esau:~$ tail .bash_history
cd prot_all/
ls
find . -type f -name *.txt -print0 | xargs -0 sed -i /XBW1/d
find . -type f -name '*.txt' -print0 | xargs -0 sed -i /XBW1/d
less PAU_03392_out.txt
less ../../PVC_operons/prot_all/PAU_03392_out.txt
past cut
less PAU_03392_out.txt
cut -f3 PAU_03392_out.txt | bc
less PAU_03392_out.txt

这些是文件等。我知道我最近正在处理,它们的命令 ID 应该在 4000-5000 区域,而不是 50 左右。

所以我的问题是,如何history再次看到正确的东西?或者我可以以某种方式将 back 的内容合并.bash_history到历史记录中,以便命令正确地调用它吗?

答案1

在进行更改之前,您必须设置HISTSIZE=0关闭旧的。$HISTFILEman bash

相关内容