暂时禁用 zsh 中的历史记录

Tot*_*tor 10 command-history zsh privacy

如何进入某种“私有” zsh shell 会话,其中我的任何命令都不会记录在磁盘历史记录中?

我知道可以选择在任何/每个命令之前添加空格字符,以避免将其记录在历史记录中,但是,我正在寻找一种不需要在每个命令前面添加空格的解决方案。

Tot*_*tor 16

启动一个新的zshshell 并禁用其中的历史记录。

选项1

zsh # or just `$SHELL` if you're already running zsh
unset HISTFILE
...secret commands...
exit
Run Code Online (Sandbox Code Playgroud)

秘密命令不会存储在历史文件中。

选项2

zsh # or just `$SHELL` if you're already running zsh
fc -p
...secret commands...
exit
Run Code Online (Sandbox Code Playgroud)

fc -p切换zsh到内存中的历史记录,当您执行exit.

缺点:以前的历史记录(会话开始之前输入的命令)private不可用。