我想使用 zsh 脚本将命令附加到命令历史记录中,以便当我点击向上箭头时它会出现。我已经在 ${HISTFILE} 中附加了一行,它显示为最后一行,但向上箭头操作似乎忽略了它。
我看到 zsh 与历史文件并行维护会话历史记录,但我还没有找到添加它的方法,或者以其他方式完成我要做的事情。有办法做到吗?
答案1
您可以使用print -s
或print -S
来实现此目的:
-s
- 将结果放在历史列表中而不是放在标准输出中。打印命令的每个参数都被视为历史记录中的单个单词,无论其内容如何。
-S
- 将结果放在历史列表中而不是放在标准输出中。在这种情况下,只允许使用一个参数;它将被分割成单词,就像它是一个完整的 shell 命令行一样。效果类似于从历史文件中读取该选项处于
HIST_LEX_WORDS
活动状态的行。
看https://zsh.sourceforge.io/Doc/Release/Shell-Builtin-Commands.html#index-print