zsh如何存储历史?历史文件格式

时间:2016-06-22 07:23:09

标签: zsh oh-my-zsh

我不确定我是否完全理解zsh如何存储其历史记录。示例行:

: 1458291931:0;ls -l

我想我们在这里:

  • 时间戳: 1458291931
  • 命令: ls -l <​​/ strong>

但这之间神秘的 0 意味着什么?

1 个答案:

答案 0 :(得分:5)

这是所谓的*扩展历史记录格式,由EXTENDED_HISTORY shell option启用。第二个数字(&#34;神秘 0 &#34;)是命令的持续时间。 &#34; 0&#34;要么意味着命令快速完成,要么 - 根据您的设置 - 不保存持续时间。如果shell options INC_APPEND_HISTORYSHARE_HISTORY中的任何一个已启用(您可以使用setopt | grep -E '^(incappend|share)history$'进行检查),则zsh会将历史记录条目写入历史记录文件确认命令后立即。持续时间将保存为&#34; 0&#34;在那种情况下。

如果要在shell会话期间将历史记录保存到文件时使用持续时间度量标准,则可以设置选项INC_APPEND_HISTORY_TIME,在这种情况下zsh将等待命令完成后再写入入口。显然,这将表现得像INC_APPEND_HISTORY

注意:只有其中一个选项INC_APPEND_HISTORYINC_APPEND_HISTORY_TIMESHARE_HISTORY应该有效