Я установил Ubuntu 11.10 mini + LXDE и хотел изменить командную строку в терминале (кроме простого белого), поэтому я добавил синий цвет к линии пути (все до знака $), и он работает нормально, но у меня два странных глюки сейчас:
Что я могу испортить? Плохо то, что я не помню, что именно я изменил, но я уверен, что я изменил только одну строку в bashrc
Редактировать : для тех, кто хочет настроить терминальную линию, вот хороший учебник -> ссылка < - . Убедитесь, что вы не пропустили никаких символов (особенно '\'), и все работает отлично.
Я очень опаздываю, но проблема здесь состоит в том, что Bash не знает, где установить курсор, потому что он интерпретирует кодовые символы особого цвета как обычный текст. Это фиксируется путем помещения [и] отмечает вокруг цветовых кодов. Вместо записи \e[1;31m
для создания текста красным необходимо записать \[\e[1;31m\]
.
Если у Вас есть эта проблема, тщательно проверьте все цветные управляющие коды, чтобы видеть, есть ли у них те теги вокруг них.
bashrc по умолчанию можно найти в /etc/skel/.bashrc
. Я бы посоветовал вам сделать резервную копию вашего текущего bashrc, затем замените ваш bashrc на тот, что есть в skel, и посмотрите, не возникнут ли проблемы. Затем, если они этого не сделают, сделайте резервную копию и отредактируйте свой новый bashrc, добавив комментарии в том, что вы сделали !!
У меня были те же симптомы, но в моем случае проблема заключалась в последовательности сброса ASCII-звонка \a
в моем приглашении Bash, что привело к проблеме. Цветовые коды были правильно заключены в квадратные скобки (спасибо @ringstaart).
Моя проблемная настройка приглашения Bash в .bashrc
была (без определения переменных цвета):
PS1="\[$BLUE\]\u@\h: \[$YELLOW\]\w\a\\[$PURPLE\]\[$WHITE\]\$ "
Просто удаление \a
решило проблему:
PS1="\[$BLUE\]\u@\h: \[$YELLOW\]\w\\[$PURPLE\]\[$WHITE\]\$ "