如何让bash不重复剪切其历史文件

如何让bash不重复剪切其历史文件

我只想让 .bash_history 文件存储大量历史记录,就像$HISTSIZE=10000000, $HISTFILESIZE=10000000我几个月前设置的那样。

这是行不通的。我刚刚尝试了 ^R <一些旧命令>,没办法:我的历史文件现在有 100324 字节。

我的所有会话都有一个历史记录。我想这与问题有关:一些竞争条件,无论如何。所以我尝试了多种方法来获取常见的 bash 历史记录。现在我有这个:

HISTSIZE=10000000
HISTFILESIZE=$HISTSIZE
HISTCONTROL=ignorespace:ignoredups

history() {
  _bash_history_sync
  builtin history "$@"
}

_bash_history_sync() {
  builtin history -a         #1
  HISTFILESIZE=$HISTSIZE     #2
  builtin history -c         #3
  builtin history -r         #4
}

PROMPT_COMMAND=_bash_history_sync

不要问我这意味着什么。这只是又一次复制和粘贴,希望历史文件不会重复丢失内容,尽管有很大的限制。

问题:如何在会话之间拥有共同的历史记录,并$HISTSIZE, $HISTOFILESIZE成为历史记录大小的唯一最终限制,没有其他东西试图帮助他们?

相关内容