После того, как я редактировал мой .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 появляются по всему экрану, а линии едят друг друга, кто-нибудь знает, почему?

  • Поиск истории команд
  • Почему xfreerdp говорит «подключен» три раза каждый раз?
  • Виртуальная консоль TTY + tmux: кажется, что ~ / .bashrc запускается более одного раза?
  • Получение ошибок Python всякий раз, когда я пытаюсь использовать терминал в Linux Mint
  • Linux использует второй терминал в минимальной iso
  • Bash не ищет источник ~ / .bash_profile в OSX
  • Как прокручивать в терминале по строке в терминале GNOME 2.31.3?
  • Как преобразовать несколько изображений tiff в координаты xyz в одном текстовом файле с помощью терминала?
  • 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)\]" 
    Interesting Posts

    awk-функция не получает вызов, если у меня есть инструкция begin в файле awk

    Запустить vino-сервер в Ubuntu 16.04 lts

    Автоматический отступ vim даже после установки опции noai

    Защитить содержимое жесткого диска

    SELinux предотвращает автоматическое удаление ecryptfs

    В чем разница между && и | в сценарии bash?

    Могу ли я запустить xvfb в консольной системе debian?

    Что может заставить GRUB2 внезапно не распознаваться EFI?

    динамически созданный файл журнала в screenrc, показанный в hardstatus

    Экран шрифта ПК для переносимого скомпилированного шрифта

    Сценарии IBM V7000 для мониторинга

    как напрямую управлять динамиком ПК в Linux

    Открытый ключ f3: 6e: 87: 04: ea: 2d: b3: 60: ff: 42: ad: 26: 67: 17: 94: d5 черный список (см. Ssh-vulnkey (1)); отказавшись отправить его

    Подстановка на месте для строк, соответствующих некоторому шаблону в заданном наборе файлов

    Не удалять или перемещать в корзину в контекстном меню в некоторых каталогах (gnome)

    Linux и Unix - лучшая ОС в мире.