[Comm] Re: PS1 in bash
Sergey Vlasov
=?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Ср Апр 16 14:37:35 MSD 2003
On Wed, 16 Apr 2003 11:08:29 +0500
Andrew Fefilov <faqa на ies.udm.ru> wrote:
> Подскажите, пожалуйста, если не в лом. Вот захотелось мне раскрасить
> приглашение командной строки в bash. В М2.2 стандарное значение для этого
> :
> [faqa на faa faqa]$ set | grep PS1
> PS1='[\u@\h \W]\$ '
>
> Оно, вообщем-то, меня устраивает. Просто хотелось его раскрасить, скажем, в
> зелёненький. Вот сделал так:
>
> [faqa на faa faqa]$ set | grep PS1
> PS1='\033[32m[\u@\h \W]\$ \[\033[0m'
>
> Т.е. сначала крашу в зелёный, затем вывожу стандартное приглашение, затем
> сбрасываю цвет символов в умолчательный. Все так и работает, но, если
> командная строка занимает более одной строчки, то она продолжается не со
> следующей строчки, а затирает начало первой строчки. Где это можно
> подправить? Вот сижу, грепаю man bash, но пока безуспечно.
Вокруг управляющих последовательностей надо ставить "\[" и "\]", чтобы
указать, что эти коды не занимают места на экране.
См. info bash (Printing a Prompt).
Подробная информация о списке рассылки community