У меня есть пользовательская конфигурация bash, которую я устанавливаю на многих разных машинах, и она включает в себя пользовательскую $PS1, которая создается скриптом и заканчивается следующим образом:
\[\e[0;33m\][\!] $(if [[ $? == 0 ]]; then echo "\[\e[0;32m\]✓"; else echo "\[\e[0;31m\]✗"; fi) \[\e[1;33m\]\u\[\e[1;36m\]@\h \[\e[1;32m\]\w \[\e[1;32m\]\$\[\e[00m\]
Это немного некрасиво, но похоже, что проблема вызвана только символами ✓ и ✗; на самом деле, замена их на o и n решает проблему и делает
PS1='✓'
до сих пор терпит.
Проблема в том, что когда я набираю команду достаточно долго, чтобы достичь предела моего терминала, вместо того, чтобы продолжать на следующей строке, она перекрывает приглашение и начало команды. Самое смешное, что это только в первый раз перекрывается, потом нормально продолжается на следующей строке.
Машина, на которой это происходит, — это совершенно новая виртуальная машина Debian 8 Jessie, созданная на гипервизоре Debian 8 с Xen4.4 и набором инструментов xl. Я сделал несколько других идентичных виртуальных машин и получил тот же результат. Однако у меня нет этой проблемы ни на одной физической машине Debian, которую я пробовал (включая мой Dom0). Я также попробовал виртуальную машину Ubuntu15.04, и у нее тоже нет проблем.
Я также заметил, что эта проблема возникает как при соединении ssh, так и через последовательную консоль.
Кто-нибудь имеет представление о том, что происходит?
Code 2713: width 1 punct graph print
. - person rici   schedule 11.01.2016Code 2713: width -1
на моем удаленном компьютере, в то время как у меня есть ожидаемоеCode 2713: width 1 punct graph print
на моем локальном компьютере. - person toadjaune   schedule 22.01.2016i18n_ctype
, и я получаю правильную ширину своего символа, однако, когда я использую его в PS1, проблемы остаются. - person Aleksandr Makov   schedule 24.09.2019