Answers:
使用HIST_IGNORE_SPACE选项。
setopt HIST_IGNORE_SPACE
男性购物
HIST_IGNORE_SPACE
当行中的第一个字符为空格,或者其中一个扩展别名包含前导空格时,请从历史记录列表中删除命令行。请注意,该命令会一直保留在内部历史记录中,直到输入下一条命令消失为止,从而使您可以短暂地重复使用或编辑该行。如果要使其消失而无需输入其他命令,请键入一个空格,然后按回车键。
kill -9 $$
确实要避免将当前终端会话中发出的所有命令都存储在历史记录中,这真是太棒了。
unset HISTFILE
在执行命令块之前。之后,您需要重置HISTFILE
或打开新的外壳程序,以将命令保留在所需的历史记录中。
如果您希望对ZSH历史记录中添加的内容进行更精细的控制,可以在中定义zshaddhistory
函数.zshrc
。以下定义使用正则表达式定义要忽略的模式:
function zshaddhistory() {
emulate -L zsh
if ! [[ "$1" =~ "(^ |^ykchalresp|--password)" ]] ; then
print -sr -- "${1%%$'\n'}"
fc -p
else
return 1
fi
}
请注意,从行为man zshopts
下HIST_IGNORE_SPACE
仍然存在:
请注意,该命令会一直保留在内部历史记录中,直到输入下一条命令消失为止,从而使您可以短暂地重复使用或编辑该行。
因此,要对其进行测试,您将不得不付出额外的努力[Enter]
。这样既可以从的输出中删除命令history
,也可以从↑箭头历史记录中删除该命令。