当我切换 VPN 或关闭笔记本电脑时,我的 ssh 连接会中断 - 这是可以接受的。但我想被提醒上次运行时我在做什么(我经常使用 rsync 来移动文件)。
但是当我执行history
这些命令时,它们并没有出现。虽然我不知道 zsh 何时提交历史记录,但似乎它并没有.zsh-history
在调用命令后立即将其写入。
ZSH 有没有办法立即添加命令.zsh-history
?
其他信息
我隐约记得设置了一个在选项卡之间共享历史记录的变量,但我找不到它(显然这还不够)。这没有返回任何内容:
env | grep HIST
答案1
这不返回任何内容:
env | grep HIST
答案是否定的,原因有二:
- 如果它由环境变量控制,但该变量尚未设置,那么您将无法在环境中找到它。
- 实际上,控制这一点的并不是环境变量,而是 shell 选项。
Zsh 有三个相关的 shell 选项:INC_APPEND_HISTORY
,INC_APPEND_HISTORY_TIME
和SHARE_HISTORY
。请注意,这三个是互斥的:您应该只设置其中一个,而不要设置其他的。
我依稀记得设置了一个在选项卡之间共享历史记录的变量
听起来你想要SHARE_HISTORY
。在这种情况下,将其添加到你的.zshrc
文件中:
setopt sharehistory # uppercase and underscores are optional
将来,如果您想在命令行上检查 shell 选项,您可以这样做:
% set -o | grep hist
noappendhistory off
nobanghist off
cshjunkiehistory off
extendedhistory off
histallowclobber off
nohistbeep off
histexpiredupsfirst off
histfcntllock on
histfindnodups off
histignorealldups on
histignoredups off
histignorespace off
histlexwords off
histnofunctions off
histnostore off
histreduceblanks off
nohistsavebycopy off
histsavenodups on
histsubstpattern off
histverify off
incappendhistory off
incappendhistorytime off
sharehistory on
%