私の bash 履歴がなぜか機能しなくなってしまいましたが、修正方法がわかりません。私の .bashrc は次のようになります。
HISTSIZE=500
HISTFILESIZE=500
HISTFILE=$HOME/.bash_history
ただし、実行するとecho $HISTFILE
出力されます/Users/myusername/.bash_sessions/EE8689E5-7DAD-4018-817E-0AF1DE36082A.historynew
。
私は .bash_history ファイルの所有者なので、この問題をどのように修正すればよいかよくわかりません。
ありがとう!
答え1
ターミナルは各ターミナル セッションに一意の識別子を割り当て、それを TERM_SESSION_ID 環境変数を介して通信します。これにより、ターミナルで実行されているプログラムは、ターミナルを終了して Resume を有効にして再起動するときに、アプリケーション固有の状態を保存/復元できます。
新しいフォルダー (~/.bash_sessions/) は、セッションに固有の HISTFILE および .session ファイルを保存するために使用されます。
シェルの起動中にセッション ファイルが実行されます。古いファイルは定期的に削除されます。
デフォルトの動作では、復元されたターミナル セッションごとに bash コマンド履歴を個別に保存および復元します。また、新しいセッションのグローバル履歴にコマンドをマージします。
この動作を無効にして、単一の履歴を共有するには、
export SHELL_SESSION_HISTORY=0
HISTTIMEFORMAT が定義されている場合、セッションごとの履歴はデフォルトで無効になります (詳細は /private/etc/bashrc_Apple_Terminal を参照)
次のファイルが存在する場合、保存/復元メカニズムは無効になります。
~/.bash_sessions_disable
AppleはEl Capitanのリリース以降、すでにいくつかの動作を変更しているので、これについてはこちらで詳しく読むことをお勧めします。less /private/etc/bashrc_Apple_Terminal
答え2
El Capitan へのアップグレード後、同様のことに気付きました。.bash_sessions_disable
ホーム ディレクトリにファイルを追加するだけで、新しい bash セッションが無効になり、.bash_history
再び使用できるようになります。
これRedditスレッドより詳しい情報とリンクがあります。
答え3
最新の RVM バージョンに更新するか、次のコマンドを実行することで、RVM の問題を解決できます。
echo 'shell_session_update' > $HOME/.bash_logout
見る参考:詳細については。
答え4
Mac の場合、デフォルトのログイン シェルは であり、の代わりにbash
が実行されると思います。つまり、間違ったファイルを編集していたことになります。.profile
.bashrc