Improve bash history, add persistent history file
This commit is contained in:
parent
6246e75d81
commit
f7b5147450
@ -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
|
||||||
|
|||||||
29
bash/.bashrc
29
bash/.bashrc
@ -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 -}#
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user