не можна вводити нижній регістр e в amazon ec2 (Amazon Linux)


16

Через кілька днів роботи на моїй новій збірці ec2 відбувається таке:

  1. Я входжу в SSH, все добре, я кодуюсь
  2. Повертаюсь наступного дня і входжу в SSH
  3. Я не можу більше вводити нижній регістр e- під час введення я отримую повідомлення про помилку
  4. Я намагаюсь ssh з іншого комп’ютера, та сама проблема
  5. Перезавантажую сервер, та сама проблема
  6. Я відкриваю nanoабо viі eпрацює нормально, але тільки не в bashчиsh
  7. Я припиняю сервер, створюю новий, встановлюю з нуля, через кілька днів це повторюється знову

Це неприємно! Де я навіть починаю вирішувати проблеми?

Налаштування локальних машин:

  • Windows XP або 7
  • шпаклівка (остання) або cygwin / openssh

Налаштування EC2

Вихід, stty -aпоки я не можу набратиe

sh-4.1$ stty -a
speed 38400 baud; rows 30; columns 95; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>;
swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V;
flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -cdtrdsr
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany
-imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke

У випадку, якщо це допомагає комусь із подібними проблемами, я створив сценарій (закликаний sub) для перетворення верхнього регістру E у нижній регістр, а потім повторити команду назад. Тоді я запускаю його в backticks, щоб отримати eкомандний рядок ::

#!/bin/sh
echo ${@//E/e}

> `sub Emacs /Etc/profilE`

ОНОВЛЕННЯ

  1. Це перерва для всіх користувачів
  2. Тільки в bash (csh працює чудово)
  3. Тільки в режимі редагування emacs

Я створив кімнату чату, щоб обговорити цю проблему і відточити рішення.


1
розмістити вихід stty -aна сервері ec2, коли він буде
виграшним

1
Чи є щось смішне в / etc / profile, ~ / .profile або ~ / .bashrc? Чи можете ви судити іншого користувача і спробувати його? Здається, або це було змінено карту символів клавіатури - можливо, під час оновлень?
thinice

1
Якщо ви біжите, resetпісля stty saneчого проблема відходить?
voretaq7

1
@ voretaq7 - ні, але я не зовсім впевнений, що означає запускати ті із сценарію (очевидно, я не можу запустити їх із CLI, оскільки вони містять e:( Чи є в моєму сценарії щось необхідне, щоб сказати "це стосується мій сеанс оболонки "?
Kato

3
Також загляньте ~/.inputrcі /etc/inputrcпорушені вкладиші для читання рядків.
Сергій Власов

Відповіді:


21

Ви помилково поставили:

export EDITOR=/usr/bin/emacs

у свій /etc/inputrc. Це позначає букву "е" взагалі нічим.

Видаліть це, і ви повинні бути добре.


1
Дякую за допомогу! Маю пам’ятати, щоб не пускати людей на програму, поки я п'ю; (
Kato

5
Чи може хтось пояснити, чому встановлення змінної середовища порушує букву 'e'?
Рассел Борогов

3
/etc/inputrcНЕ для змінних середовища. Це специфічний формат введення, який читається за допомогою рядка.
MikeyB
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.