如何將命令新增至 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

相關內容