ENV $ HISTFILEの定義を見つける

ENV $ HISTFILEの定義を見つける

histfileが定義されている場所を見つけたいです。

echo $HISTFILE
/home/user/.bash_history

一部の構成ファイルまたはrcファイルに定義されている必要があると思うが見つかりません。

sudo grep --include=\*{rc,profile}\* -rnw '/' -e "*bash_history*"

ENV histfileの定義を見つける方法は?

ベストアンサー1

これだけデフォルトのためのHISTFILE

シェルが起動すると、変数名のファイルHISTFILE(デフォルト)から履歴が初期化されます。~/.bash_history

あなたのアイテムを上書きしたようです。先頭に加えて、通常の動作を復元PROMPT_COMMANDできます。デフォルト値()を表示するには、プロファイルの上部にshell_session_history_check;追加してください。echo $PROMPT_COMMANDshell_session_history_check; terminal_update_cwd

これを行うと、HISTFILEこの関数でオーバーライドされます(declare -f shell_session_history_check関数呼び出しを表示するには実行してくださいshell_session_history_enable)。

$ declare -f shell_session_history_enable
shell_session_history_enable () 
{ 
    ( umask 077;
    /usr/bin/touch "$SHELL_SESSION_HISTFILE_NEW" );
    HISTFILE="$SHELL_SESSION_HISTFILE_NEW";
    SHELL_SESSION_HISTORY=1
}

.bash_sessionsこれにより、各セッションのログを個別に保存するファイルが作成されます。詳しくはこちらReddit:

(~/.bash_sessions/) は、セッションごとの HISTFILE および .session ファイルを保存するために使用されます。シェルの起動時に$ BASH_SESSIONまたは$ TERM_SESSION_IDが設定されている場合(つまり、端末が保存されてから再起動された場合)、関連するHISTFILEが現在のファイルにマージされ、.sessionファイルが実行されます。 bash_update_session_state 関数の EXIT トラップを設定してセッションの保存を促進します。

おすすめ記事