有没有办法在 shell 之间共享 bash 时创建历史记录?

有没有办法在 shell 之间共享 bash 时创建历史记录?

我看过这个答案:

在多个终端窗口中保留 bash 历史记录

这适用于历史,但我想知道是否有办法扩展此功能,以便按“向上”也可以共享?

答案1

虽然bash没有这种确切的行为,但zsh可以这样做

setopt inc_append_history share_history

如何在 zsh 中的终端之间共享历史记录?

答案2

通过告诉 bash 在每个命令后写出并重新读取历史记录应该是可能的。未经测试:

PROMPT_COMMAND="$PROMPT_COMMAND"$'\nhistory -a; history -n'

共享历史记录是 ksh 的默认行为。在 zsh 中,您可以通过打开share_history选项,并且您可以通过调整其他选项来更好地控制历史记录的保存和合并方式历史选项

相关内容