我用Zsh和噢,我的ZSH。我希望每一个新的ZSH外壳从一个空的历史开始。输入一个shell的命令不应该出现在另一个shell的历史记录中。我怎样才能做到这一点?
我尝试将以下内容添加到我的~/.zshrc中,但没有结果:
setopt no_share_history
unsetopt share_history
unsetopt inc_append_history
unsetopt append_history我还试着遵循这个回答,使箭头键只显示本地历史,但这似乎没有效果。
目前,如果我打开一个新的shell,它将导入历史记录。我似乎不能删除历史;当我删除~/.zsh_history时,一旦打开一个新的shell,它就会与整个旧内容一起重新出现。inc_append_history确实阻止了立即编写历史记录,但是一旦外壳关闭,历史记录最终仍将被保存。
发布于 2020-06-01 05:50:12
只有将HISTFILE变量(设置为历史文件的路径)和SAVEHIST变量(设置要存储的条目的数量)才会保存zsh历史记录。
因此,应该只从设置变量定义的地方删除这些变量定义(可能是您的~/.zshrc或其中包含的任何文件)。即使不设置其中的一个就足够了。
请注意,setopt no_share_history和unsetopt share_history (或set +o nonosharehistory等或options[sharehistory]=off)严格等效。
发布于 2020-06-01 05:57:05
将其添加到~/.zshrc文件中:
function erase_history { local HISTSIZE=0; }
erase_history每次启动交互式zsh时,它都会删除历史记录。
https://unix.stackexchange.com/questions/590187
复制相似问题