Добавление escape-последовательностей цвета ANSI в приглашение bash приводит к неправильному положению курсора при вызове / редактировании команд

Если я установлю свою командную строку как:

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

Цвет подсказки будет желтым и все после '$1$#39; символ будет цвет терминала по умолчанию. Это то, что я ожидаю. Однако, если я вспоминаю командную строку и пытаюсь ее отредактировать, перемещая курсор - либо UpArrow / Ctrl-A (установить -o emacs), либо ESC K (установить -o vi), если командная строка I 'Я пытаюсь редактировать достаточно долго, курсор не расположен в начале команды. Ввод Ctrl-A (set -o emacs) или ^ (set -o vi) не приведет к перемещению курсора к тому, что я 'Я вижу начало всплывающей строки на экране. Точно так же попытка поместить курсор в конец строки (Ctrl-E или $, в зависимости от) приводит к тому, что он помещается на несколько символов после того, что кажется концом строки. Похоже, что bash запутался в побегахмы добавили в подсказку. Это просто то, что яПридется иметь дело с изменением моего приглашения на одноцветное, когда я хочу редактировать вызванные строки, или есть ли способ получить bash, чтобы правильно разрешить редактирование вызванных команд с помощью красочного приглашения?

Ответы на вопрос(1)

Ваш ответ на вопрос