lxterminal подскажет нежелательные символы

Я на свежей установке Lubuntu 14.04. Я использую LXTerminal, и это приглашение, которое я устанавливаю через файл .bashrc:

export PS1="\e[0;36m$ \w \e[m"

Предположим, я ввел команду длиной до 15 символов (и выполняю, чтобы она регистрировалась в истории) (не берите в голову) команда не найдена "):

$ ~ 012345678901234
012345678901234: command not found

Теперь, если я нажимаю стрелку вверх, я получаю команду обратно:

$ ~ 012345678901234

И если я нажимаю стрелку вниз, я возвращаюсь в исходное состояние запрос:

$ ~ 

ПРОБЛЕМА Проблема начинается, если у меня есть 16 или более символов для запуска:

$ ~ 0123456789012345
0123456789012345: command not found

Теперь, когда я нажимаю стрелку вверх, я с предыдущей командой просто отлично:

$ ~ 0123456789012345

Нажатие стрелки вниз не возвращает меня к пустому приглашению, оно каким-то образом запоминает 10 символов первой команды длиной более 16 символов в моей истории и отображает ее до все остальное запускается. Это в основном становится моей подсказкой по умолчанию.

$ ~ 0123456789

Теперь я могу нажать клавишу возврата, чтобы избавиться от него, или я могу запустить любую другую команду. Для примера это:

$ ~ 0123456789ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos

Что я могу сделать, чтобы это исправить? Это не так уж важно, но это довольно раздражает.

1
задан 3 May 2014 в 15:56

1 ответ

Необходимо обернуть цветовые коды в \[ и \]

PS1='\[\e[0;36m\]$ \w \[\e[m\]'

кроме того, PS1 только относится к интерактивной оболочке, Вы не должны экспортировать его в дочерние процессы.

0
ответ дан 3 May 2014 в 15:56

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

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