Adicionar seqüências de escape de cor ANSI a um prompt bash resulta em posição incorreta do cursor ao chamar / editar comandos

Se eu definir o meu prompt de comando como:

export PS1='\033[0;33m[\u@\h \w]\$ \033[00m'

A cor do prompt será amarela e tudo após o caractere '$1$#39; será a cor do terminal padrão. Isso é o que eu espero. No entanto, se eu recordo uma linha de comando e tento editá-la, mova o cursor - UpArrow / Ctrl-A (set -o emacs) ou ESC K (defina -o vi) se a linha de comando que estou tentando editar é longo o suficiente, o cursor não está posicionado no início do comando. Digitar Ctrl-A (set -o emacs) ou ^ (set -o vi) não moverá o cursor para o que estou vendo como o início da linha recuperada na tela. Da mesma forma, tentar posicionar o cursor no final da linha (Ctrl-E ou $, dependendo) resulta na colocação de vários caracteres além do que parece ser o final da linha. Parece que o bash está ficando confuso com os caracteres de escape que adicionei ao prompt. Isso é algo com o qual terei que lidar, mudando o meu prompt para um monocromático quando desejo editar linhas recuperadas, ou existe uma maneira de obter o bash para permitir corretamente a edição de comandos recuperados com um prompt colorido?

questionAnswers(1)

yourAnswerToTheQuestion