如何将命令添加到 zsh 历史记录?

如何将命令添加到 zsh 历史记录?

我想使用 zsh 脚本将命令附加到命令历史记录中,以便当我点击向上箭头时它会出现。我已经在 ${HISTFILE} 中附加了一行,它显示为最后一行,但向上箭头操作似乎忽略了它。

我看到 zsh 与历史文件并行维护会话历史记录,但我还没有找到添加它的方法,或者以其他方式完成我要做的事情。有办法做到吗?

答案1

您可以使用print -sprint -S来实现此目的:

-s
将结果放在历史列表中而不是放在标准输出中。打印命令的每个参数都被视为历史记录中的单个单词,无论其内容如何。
-S
将结果放在历史列表中而不是放在标准输出中。在这种情况下,只允许使用一个参数;它将被分割成单词,就像它是一个完整的 shell 命令行一样。效果类似于从历史文件中读取该选项处于HIST_LEX_WORDS活动状态的行。

https://zsh.sourceforge.io/Doc/Release/Shell-Builtin-Commands.html#index-print

相关内容