Command-History
在多個終端視窗中保留 tcsh 歷史記錄
我們如何跨多個終端保存或維護相同的歷史記錄?
在下面的連結中討論了相同的問題,但對於 bash shell
讓我知道 tcsh shell 的相應設置?
這些變數將歷史記錄設置為合併而不是覆蓋,並且不保存重複項:
set history=1000 set histdup=erase set savehist=(1000 merge)
秘訣是這一行:
alias precmd 'history -S; history -M'
這將在列印提示之前保存並合併您的歷史記錄 - 即在您鍵入的每個命令之後。
以上所有內容都應添加到您的***.tcshrc***文件中。
除了Idan answer之外,我還想補充一點,它
alias precmd 'history -S; history -M'
可能會弄亂歷史文件,因為它還記錄 SIGINT 和 EOF 信號(Ctrl+C 和 Ctrl+D)。更好的方法是在執行命令後保存並合併目前的 shell 歷史記錄。
您可以通過下面的設置來實現它,因為 tcsh 不將 SIGINT 或 EOF 辨識為有效命令。
alias postcmd "history -S; history -M"