![如何將命令新增至 zsh 歷史記錄?](https://rvso.com/image/191791/%E5%A6%82%E4%BD%95%E5%B0%87%E5%91%BD%E4%BB%A4%E6%96%B0%E5%A2%9E%E8%87%B3%20zsh%20%E6%AD%B7%E5%8F%B2%E8%A8%98%E9%8C%84%EF%BC%9F.png)
我想使用 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