我不确定我是否完全理解zsh如何存储其历史记录。示例行:
: 1458291931:0;ls -l
我想我们在这里:
但这之间神秘的 0 意味着什么?
答案 0 :(得分:5)
这是所谓的*扩展历史记录格式,由EXTENDED_HISTORY
shell option启用。第二个数字("神秘 0 ")是命令的持续时间。 " 0"要么意味着命令快速完成,要么 - 根据您的设置 - 不保存持续时间。如果shell options INC_APPEND_HISTORY
或SHARE_HISTORY
中的任何一个已启用(您可以使用setopt | grep -E '^(incappend|share)history$'
进行检查),则zsh
会将历史记录条目写入历史记录文件确认命令后立即。持续时间将保存为" 0"在那种情况下。
如果要在shell会话期间将历史记录保存到文件时使用持续时间度量标准,则可以设置选项INC_APPEND_HISTORY_TIME
,在这种情况下zsh
将等待命令完成后再写入入口。显然,这将表现得像INC_APPEND_HISTORY
。
注意:只有其中一个选项INC_APPEND_HISTORY
,INC_APPEND_HISTORY_TIME
和SHARE_HISTORY
应该有效