簡體   English   中英

我如何(從腳本中)添加一些內容到zsh命令歷史記錄?

[英]How can I (from a script) add something to the zsh command history?

我希望能夠查看我的命令歷史記錄並了解我發出各種命令的上下文 - 換句話說,“我在哪個目錄中?” 我可以通過各種方式實現這一目標,但是所有這些(我能想到的)都需要操作zsh歷史來添加(例如)帶有$(pwd)結果的注釋行。 (我可以創建名為cd&pushd&popd等的函數,或者我可以使用zsh的preexec()函數,也許它的periodic()函數最多每X秒添加一條注釋行,就在我發出命令之前,或者也許是其他一些方式。)

問題是,我不想直接操作歷史文件並繞過shell的歷史記錄機制,但我無法找到一種方法(例如使用fc命令)向歷史記錄添加內容而不實際輸入在命令行上。 我怎么能這樣做?

您可以使用print -s命令(請參閱man zshbuiltins )將您想要的任何內容添加到歷史記錄中。 您還可以創建一個名為zshaddhistory (請參閱man zshmisc )的鈎子函數,它可以在創建歷史內容時對其進行操作。

請參閱我的Bash歷史記錄功能以獲取靈感。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM