# History setup export HISTSIZE=50000 export HISTFILE=~/.bash_history export HISTFILESIZE=50000 export HISTIGNORE="?:??:td[ud]:fg *:exit:logout" # export HISTCONTROL=ignoredups declare -i HIST_KEEP_BATCH=50 declare -i HIST_KEEP_INTERVAL=3600 declare -i LAST_HSYNC_TIME=0 PROMPT_COMMAND=hsave hsync() { history -a LAST_HSYNC_TIME=$SECONDS } hsave() { # Command-count-based # if [ $(( $HISTCMD % $HIST_KEEP_BATCH )) -eq 0 ]; then # hsync # fi # Time-interval-based: # if [ $(( $SECONDS - $LAST_HSYNC_TIME > $HIST_KEEP_INTERVAL )) ]; then # hsync # fi # Every time: hsync }