Consegui resolver o problema do registro repetido de comandos acionado pela tecla ENTER substituindo a invocação do "histórico 1" por "histórico -a > (tee -a $ HISTFILE)". Posteriormente, após o último comando ter sido encontrado e registrado, "history -c; history -r" é executado para remover todas as entradas da lista de comandos na memória do Bash e gerar novamente a lista de qualquer coisa que tenha sido salva no arquivo de histórico. Isso é necessário para obter apenas um único comando na próxima vez que a "história -a" for executada. Aqui está a solução:
session_log_command() {
local status=$?
local command
local cwd
cwd=$PWD
command=$(history -a >(tee -a $HISTFILE))
if [[ -n "$command" ]]; then
logger -p local3.notice "shell user [$$]: Executing command [CWD=$cwd ; $status]: $command"
history -c; history -r
fi
}
export PROMPT_COMMAND=session_log_command