ZSH 使用时间戳历史记录来实现哪些功能?

ZSH 使用时间戳历史记录来实现哪些功能?

zsh 历史记录包含时间戳,并且可以选择禁用它。

除了知道命令何时执行之外,原因是什么?如果禁用此功能,我可能会失去哪些功能?

答案1

zsh 历史记录包括时间戳,如果该EXTENDED_HISTORY功能已启用,或者如果该SHARE_HISTORY功能已启用;在后一种情况下,使用时间戳,以便多个 shell 可以彼此准确的历史记录 - 他们只需要读取自上次读取历史文件以来添加的任何新命令,即使历史文件被重写,他们也可以这样做。

使用以下命令启用或禁用这些功能setopt

setopt extendedhistory
setopt sharehistory

将使他们能够,同时

setopt noextendedhistory
setopt nosharehistory

将禁用它们。

如果您想保留共享历史记录,则需要保留扩展时间戳(但不需要显式启用该EXTENDED_HISTORY功能;该SHARE_HISTORY功能是自给自足的)。

请注意,丰富的历史不仅告诉您什么时候执行了一个命令,而且还多久它需要运行,这在某些情况下可能很有用。

历史部分文档包含所有详细信息。

答案2

如果我没记错的话,当您打开多个会话时,ZSH 会使用时间戳对历史命令重新排序。

相关内容