El comando de solicitud de Bash se sobrescribe al invocar el comando de historial/eliminación

El comando de solicitud de Bash se sobrescribe al invocar el comando de historial/eliminación

Mi mensaje de Bash se borra solo al eliminar el texto que sigue o al ir demasiado lejos en el historial.

Al iniciar sesión, el mensaje parece normal. Hay corchetes blancos alrededor de un nombre de usuario de color y luego un > blanco como mi mensaje; sin embargo, si subo dos veces en mi historial, el comando de historial sobrescribe mi mensaje:

[stonewareslord] >        #Initial prompt. stonewareslord is green
                   | Cursor is above this pipe symbol

[stonewareslord] > ls     #Up arrow pressed once. ls was my last command. Colors are normal, ls is white
                     | Cursor is above this pipe symbol

pwdonewareslord] > ls     #Up arrow a second time. pwd overwrite [st. pwd is white and the other colors are normal. 
   | Cursor is above this pipe symbol

También sucede cuando elimino el comando:

[stonewareslord] > ls     #Typed command after initial prompt. stonewareslord is green
                     | Cursor is above this pipe symbol

[stonewareslord] > l      #Deleted one character
                    | Cursor is above this pipe symbol

                          #Deleted second character (line is blank). Anything I type is white
| Cursor is above this pipe symbol

Las líneas en bashrc que probablemente podrían haber afectado esto son:

color='\e[0;32m'  #Green
reset='\e[0m'     #Color is set back to normal (white)
prompt(){
    printf "[$color%s$reset]>" `whoami`
}
PS1=""
PROMPT_COMMAND=prompt

export HISTFILESIZE=
export HISTSIZE=
export HISTTIMEFORMAT="%Y-%m-%d_%H:%M:%S "
export HISTFILE=~/.bash_eternal_history

readonly HOME
readonly HISTIGNORE

Respuesta1

Bueno, descubrí una forma de evitarlo:

PROMPT_COMMAND=prompt

fue cambiado a:

PROMPT_COMMAND='PS1=`prompt`'

Editar: y los colores fueron envueltos en \[ \](es decir color='\[\e[0;32m\]')

información relacionada