_postcmd() { AT_PROMPT=1 history -a } PROMPT_COMMAND="_postcmd" _precmd() { [ -z "$AT_PROMPT" ] && return unset AT_PROMPT [ -z "$TFW_DELAY_HISTAPPEND" ] && history -a } trap _precmd DEBUG shopt -s cmdhist shopt -s histappend unset HISTCONTROL export HISTFILESIZE=1000 export HISTSIZE=1000