[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