2

Я раскрашиваю части моего приглашения bash, используя escape-последовательности ANSI. Это прекрасно работает, пока команда, которую я сейчас набираю, не станет достаточно длинной, чтобы ее обернуть. Вместо остальной части команды, отображаемой на следующей строке, она переносится обратно в столбец 1 текущей строки, перезаписывая начало подсказки.

Я получаю такое поведение с этой подсказкой:

export PS1="[\u][\033[0;32;40mdemo \033[0;33;40m1.5.40.b\033[0;37;40m] \w> \033[0m"

но он работает правильно с той же подсказкой, последовательности ANSI удаляют:

export PS1="[\u][demo 1.5.40.b] \w> "

Я подключаюсь, используя текущую версию Putty с настройками Putty по умолчанию. ОС Ubuntu 8.10.

1 ответ1

1

Там должно быть что-то, потому что следующая строка из документации bash не демонстрирует такое же поведение:

PS1="\[\033[1;34m\][\$(date +%H%M)][\u@\h:\w]$\[\033[0m\] "

Еще не выяснил, что это, но их дела, а ваши нет ...

РЕДАКТИРОВАТЬ: Попробуйте:

PS1="[\u][\[\033[1;32m\]\[\033[1;40m\]demo \[\033[1;33m\]\[\033[1;40m\]1.5.40.b\[\033[0;37m\]] \w> \[\033[0m\] "

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .