Назад | Перейти на главную страницу

Не могу ввести букву "е" по ssh

Прямо сейчас я испытываю очень и очень странное поведение на сервере Ubuntu 14.04.2 LTS, которым я управляю.

При подключении к серверу через ssh либо через cygwin (mintty), либо через терминал на машине Linux, я не могу ввести букву e.

Я выполнил следующую отладку:

Прямо сейчас я совершенно не понимаю, что могло быть причиной этого.

Я был бы очень рад совету, как это исправить.

Моя проблема не такая, как невозможно ввести e в нижнем регистре в amazon ec2 (Amazon Linux), но похоже.

После проверки /etc/inputrc и не обнаружив ничего необычного, я вспомнил, что сделал несколько клавиш в /etc/bash.bashrc. Это было уже очень давно и работало безупречно. Почему сейчас возникают проблемы?

Я узнал, когда проверил /etc/bash.bashrc:

Поскольку все файлы управляются с помощью ansible, эта команда также была вставлена ​​с помощью ansible:

- name: Up Arrow Command Search
  lineinfile: dest=/etc/bash.bashrc line="bind '\"\e[A\"':history-search-backward"

- name: Down Arrow Command Search
  lineinfile: dest=/etc/bash.bashrc line="bind '\"\e[B\"':history-search-forward"

Очевидно, недавнее обновление ansible изменило поведение lineinfile, так что команда привела к

bind \e[A:history-search-backward
bind \e[B:history-search-forward

вместо того

bind '"\e[A"':history-search-backward
bind '"\e[B"':history-search-forward

И поэтому привело к странному поведению.

Большое спасибо Эрик Ренуф, за ссылку на другой вопрос с аналогичной проблемой!