Если я установил свою командную строку, например:
export PS1='\033[0;33m[\[email protected]\h \w]\$ \033[00m'
Цвет подсказки будет желтым, и все после символа '$' будет быть цветом терминала по умолчанию. Это то, чего я ожидаю. Однако, если я вспомню командную строку и попытаюсь ее отредактировать, переместите курсор - либо UpArrow/Ctrl-A (установите -o emacs), либо ESC K (set -o vi) если в командной строке, которую я пытаюсь отредактировать, достаточно долго, курсор не находится в начале команды. Ввод либо Ctrl-A (set -o emacs), либо ^ (set -o vi) не приведет к перемещению курсора к тому, что я вижу в качестве начала отозванной строки на экране. Аналогичным образом, попытка поместить курсор в конец строки (Ctrl-E или $, в зависимости) приводит к тому, что он помещает несколько символов в прошлое, что кажется концом строки. Похоже, что bash запутывается escape-символами, которые я добавил в подсказку. Это только то, с чем мне придется иметь дело, меняя приглашение на монохромное, когда я хочу отредактировать отозванные строки, или есть способ получить bash, чтобы правильно разрешить редактирование отозванных команд с помощью яркого приглашения?