После того, как я редактировал мой .bashrc, я получил призраки в своем приглашении

Я добавил следующее к своему ~/.bashrc :

 export PS1="\e[0;35m[\u@\h \W]\$ \e[m " echo -e "\e[0;35mYOU ARE ON THE LIVE SERVER !!\e[0m" 

к сожалению, теперь, каждый раз, когда я вставляю что-то долгое в bash, он появляется на экране, и символы призрачной tab появляются по всему экрану, а линии едят друг друга, кто-нибудь знает, почему?

  • Терминатор не работает!
  • Восстановление невидимых экранов и выпадающих списков на linux
  • запустить удаленный процесс через autossh в фоновом режиме
  • Бесконечный цикл данных от dev / ttyUSB при отправке AT-команд
  • Поиск истории команд
  • Изменение цвета фона терминала GNOME на лету
  • Предоставление пользователю SFTP доступа только с доступом к подкаталогу вне дома?
  • Ошибка ввода Whiptail / диалога при выполнении из rc.local
  • 2 Solutions collect form web for “После того, как я редактировал мой .bashrc, я получил призраки в своем приглашении”

    В прошлом я также столкнулся с проблемой кодирования цветовых кодов ANSI с навигацией по командной строке; вам нужно поместить коды ANSI вокруг \[ \] чтобы командная оболочка могла знать, как (не) принимать их во внимание как часть входной строки.

    Как в:

     export PS1="\[\e[0;35m\][\u@\h \W]\$\[\e[m\] " echo -e "\[\e[0;35m\]YOU ARE ON THE LIVE SERVER !!\[\e[0m\]" 

    Некоторое объяснение, почему оболочке нужны \[ и \] : Чтобы нарисовать приглашение в правильных положениях в матричной матрице терминала, оболочке нужно знать правильную длину строки приглашения, которая представляет собой количество печатаемых символов, т. Е. не управляющие символы или последовательности символов.

    Однако оболочка не знает, какие последовательности символов терминал считает пригодными для печати. Поэтому необходимо предоставить подсказки оболочке, чтобы различать печатные и непечатаемые последовательности, что является целью \[ и \] .

    Я как-то исправил это, я использовал этот веб-сайт http://bashrcgenerator.com/ и сделал это с длинными рукавами, он намного длиннее, но если вы дважды щелкните элементы, которые вы можете покрасить, и он работает

    Я закончил с

      export PS1="\[\033[38;5;129m\][\u@\h\[$(tput sgr0)\]\[\033[38;5;15m\] \[$(tput sgr0)\]\[\033[38;5;129m\]~]\\$\[$(tput sgr0)\]\[\033[38;5;15m\] \[$(tput sgr0)\]" 
    Linux и Unix - лучшая ОС в мире.