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_COMMAND
shell_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 トラップを設定してセッションの保存を促進します。