Автоподключение USB после перезагрузки

Это потому, что bash думает, что приглашение длиннее, чем оно есть. Например, escape-последовательность \e[0;31m засасывается терминалом, который, в свою очередь, превращает следующий текст в красный цвет, но bash этого не знает. Итак, вы должны сказать bash, что последовательность символов не должна учитываться в строке приглашения, и вы делаете это, помещая ее в \[ \].

red=$(tput setaf 1)
reset=$(tput sgr0)
PS1='\[$red\][\W]\$\[$reset\] '

Подробнее см. BashFAQ 53 и коды терминалов (ANSI / VT100).

1
задан 25 August 2012 в 16:21

0 ответов

Другие вопросы по тегам:

Похожие вопросы: