我的~/.zsh_history
显示:
: 1449561637:0;echo "foobar"
我猜应该是
unix时间戳
:
退出码
;
命令
,但是时间戳和冒号之前的空格怎么处理呢?是否有官方规范?
正如评论中已经指出的那样,历史文件的格式取决于shell,有时甚至取决于shell的特定设置。
在您的情况下,您正在使用启用EXTENDED_HISTORY
选项的zsh
(通过显式设置或使用csh
仿真)。根据ZSH manual,带有EXTENDED_HISTORY
的历史记录条目的格式如下:
: <beginning time>:<elapsed seconds>;<command>
INC_APPEND_HISTORY_TIME
,那么意味着不退出(或崩溃)的命令将不会被写入历史文件吗?我希望有一种方法既能显示每个命令所需的时间,又能保证所有命令都在其中。 - Max Coplanpreexec
和/或 precmd
钩子通过编写/编辑历史记录文件可能可以解决此限制。但是,如果它应与多个并行的 zsh
会话一起工作,则这可能需要一些努力。 - Adaephon
bash
中设置HISTTIMEFORMAT
以便为每个条目打上时间戳。 - chepner