执行命令块而不将其保留在 shell 历史记录中 (zsh)

Execute a block of commands without keeping it in shell history (zsh)

我知道如果使用 setopt HIST_IGNORE_SPACE 可以避免将命令保留在历史记录中。但是命令块呢?

假设我写的是这样的:

nohistorystart
...cmds...
nohistoryend

或者启动提示的东西。

this answer,您可以 push/pop 一个新的历史记录,不与保存文件相关联。 (注意大写字母。)

fc -p 
...cmds...
fc -P

使用以 space 开头的复合命令。

%  {
cursh> echo 1
cursh> echo 2
cursh> }
1
2