Command-Line
如何為同一使用者的不同會話擁有單獨的命令歷史記錄?
我在一些 Unix 伺服器上遇到了這個問題。當我為同一使用者打開不同的會話時,命令歷史記錄由所有會話共享。
Ctrl-P
如果我錯誤地按下或up arrow
然後按下 Enter,這會產生問題。有一次我最終執行,rm -rf *
幸好我在我沒有權限刪除文件的目錄中。如何為同一使用者的不同會話擁有單獨的命令歷史記錄?大多數時候我都在使用 ksh 和 tcsh shell。
Q1。如何獲取 shell 的單獨歷史文件?
A1。ksh 對使用相同歷史文件名的所有 shell 使用共享歷史文件。這意味著在一個視窗中輸入的命令將被其他視窗中的 shell 看到。要獲得單獨的視窗,需要在創建第一個歷史命令之前將 HISTFILE 變數設置為不同的名稱。
您可以添加
HISTFILE=~/.hist$$
到您的.profile
. 這應該為每個會話生成一個唯一文件。你最終會得到大量的,
.hist*
所以我建議你偶爾刪除它們。