ZSH 将时间戳历史用于哪些功能?

ide*_*n42 1 command-history zsh

zsh 历史记录包括一个时间戳,可以选择禁用它。

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

Ste*_*itt 10

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

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

setopt extendedhistory
setopt sharehistory
Run Code Online (Sandbox Code Playgroud)

将启用它们,而

setopt noextendedhistory
setopt nosharehistory
Run Code Online (Sandbox Code Playgroud)

将禁用它们。

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

请注意,扩展历史记录不仅会告诉您命令何时执行,还会告诉您运行了多长时间,这在某些情况下很有用。

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