Improve bash history, add persistent history file

This commit is contained in:
Andrew R. M 2025-04-05 16:37:09 -04:00 committed by Andrew R. M.
parent fd08d4ed13
commit 44cf82a669
2 changed files with 25 additions and 6 deletions

View File

@ -24,7 +24,7 @@ export HISTSIZE=-1
#{- SHELL OPTIONS -}# #{- SHELL OPTIONS -}#
# Append history to $HISTFILE when bash exits, instead of overwriting it # Append history to $HISTFILE when bash exits, instead of overwriting it
shopt -s histappend #shopt -s histappend
# Attempt to preserve multi-line commands in history with embedded newlines # Attempt to preserve multi-line commands in history with embedded newlines
shopt -s cmdhist lithist shopt -s cmdhist lithist

View File

@ -23,12 +23,31 @@ export PS4="${blue}#${no_color} "
#{- HISTORY -}# #{- HISTORY -}#
#shopt -s histappend PROMPT_COMMAND="history -n; history -w; history -c; history -r; $PROMPT_COMMAND"
#export PROMPT_COMMAND="history -a; histroy -c; history -r; $PROMPT_COMMAND" # PROMPT_COMMAND="echo hist1; history; history -n; echo hist2; history; history -w; echo hist3; history; history -c; echo hist4; history; history -r; echo hist5; history; $PROMPT_COMMAND"
export HISTFILE="$HOME/.history/bash"
export HISTTIMEFORMAT="%F %T "
export HISTCONTROL="erasedups:ignoreboth"
export HISTFILESIZE=-1
export HISTSIZE=-1
export HISTCONTROL="ignoreboth:erasedups" export PERSISTENT_HISTFILE="${HOME}/.persistent_history"
shopt -s histappend log_bash_persistent_history()
export PROMPT_COMMAND="history -n; history -w; history -c; history -r; $PROMPT_COMMAND" {
local rc=$?
[[
$(history 1) =~ ^\ *[0-9]+\ +([^\ ]+\ [^\ ]+)\ +(.*)$
]]
local date_part="${BASH_REMATCH[1]}"
local command_part="${BASH_REMATCH[2]}"
if [ "$command_part" != "$PERSISTENT_HISTORY_LAST" ]
then
echo $date_part "|" "$rc" "|" "$command_part" >> "${PERSISTENT_HISTFILE}"
export PERSISTENT_HISTORY_LAST="$command_part"
fi
}
PROMPT_COMMAND="log_bash_persistent_history; $PROMPT_COMMAND"
#{- SOURCING -}# #{- SOURCING -}#