如何讓 bash 記住先前會話的歷史記錄?

如何讓 bash 記住先前會話的歷史記錄?

我有 MacOSX,但這應該是 *NIX 通用的。
在我工作的電腦中,即使我剛剛打開一個新終端,我的 bash shell 也會記住先前會話的歷史記錄。
在我家裡的電腦上,這種情況不會發生。
我在兩台機器上都有相同的作業系統,而且 .bash_profile 中沒有任何與歷史記錄相關的設定。
我如何在我的家用電腦上進行設置,以便它記住跨會話的歷史記錄?

答案1

請確保您在家中運行 bash。這可以透過以下方式完成

echo $SHELL 

或者

echo $0

或者

ps -p $$

方法一的輸出應該類似

/bin/bash

方法2應該輸出應該是

-bash

方法3應該輸出一些包含BASH的進程。

如果您確實運行 bash,您的主資料夾下應該有一個 .bash_history 檔案。如果您沒有收到歷史記錄,您的使用者帳戶可能無法正確設定。

一些需要考慮的環境選擇

HISTIGNORE HISTSIZE HISTFILE

要檢查這些設置,請使用:

echo $HISTSIZE
echo $HISTIGNORE

若要更新使用:

export HISTSIZE=9000

如果您不使用 BASH 作為 shell,您可以透過以下方式修改您的帳戶(如果您有權限):

usermod -s /bin/bash <username>

相關內容