Bash добавляет символ '@' к $PS1. Как от него избавиться?

Bash добавляет символ '@' к $PS1. Как от него избавиться?

Я использую Ubuntu 16.04, и bash продолжает добавлять «@» перед приглашением, независимо от значения, установленного в ~/.bashrc.

Я пробовал устанавливать разные значения как в ~/.bashrcфайле, так и из терминала с помощью exportкоманды.

Например, вот фрагмент моего терминала:

@$ export PS1='HELLO '
@HELLO

Я даже пытался вернуться коригинальный~/.bashrc, но безуспешно, потому что этот @ все еще присутствует в каждой строке.

  • Есть ли способ от этого избавиться?
  • Есть ли еще какой-то файл конфигурации, на который мне следует обратить внимание?
  • Это ошибка, о которой мне следует сообщить?

решение1

Похоже, вы настроили readlineвключениеиндикация режима редактирования. От8.3.1 Синтаксис файла инициализации Readlineиз справочного руководства Bash:

show-mode-in-prompt (Off)
       If set to On, add a character to the  beginning  of  the  prompt
       indicating  the  editing  mode:  emacs (@), vi command (:) or vi
       insertion (+).

Вы должны иметь возможность отключить его в текущей оболочке с помощью

bind 'set show-mode-in-prompt off'

Чтобы отключить его навсегда, вам нужно будет найти, где он устанавливается, возможно, в ваших ~/.inputrcили /etc/inputrcфайлах.

Связанный контент