Amazon EC2에서 소문자 e를 입력 할 수 없음 (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를 소문자로 변환 하는 스크립트 ( )를 만든 다음 명령을 다시 에코합니다. 그런 다음 백틱으로 실행 e하여 명령 줄 을 얻습니다 . :

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

> `sub Emacs /Etc/profilE`

업데이트

  1. 이것은 모든 사용자에게 적용됩니다
  2. bash에서만 (csh는 잘 작동합니다)
  3. emacs 편집 모드에서만

이 문제에 대해 토론 하고 솔루션을 연마 하기 위해 대화방을 만들었습니다 .


1
stty -a
ecky

1
/ etc / profile, ~ / .profile 또는 ~ / .bashrc에 이상한 것이 있습니까? 다른 사용자에게 su하여 시도해 볼 수 있습니까? 키보드 문자 맵이 변경되었거나 업데이트 중일 수 있습니다.
thinice

1
reset다음에 실행 stty sane하면 문제가 해결됩니까?
voretaq7

1
@ voretaq7 - 아니,하지만 난 정확히 확인이 스크립트 (가 포함되어 있기 때문에 분명히 내가 CLI에서 실행할 수 없습니다에서 사람들을 실행하는 것이 무엇을 의미하는지 모르겠어요 e:(이 적용됩니다 "말을 내 스크립트 필요가 무엇인가 내 쉘 세션 "?
Kato

3
또한 보면 ~/.inputrc/etc/inputrc파손의 readline 키 바인딩을 위해.
Sergey Vlasov

답변:


21

실수로 다음을 입력했습니다.

export EDITOR=/usr/bin/emacs

/etc/inputrc. 이것은 문자 'e'를 전혀 매핑하지 않습니다.

그것을 제거하면 괜찮을 것입니다.


1
도와 주셔서 감사합니다! 내가 술을 마시는 동안 사람들이 프로그램하지 못하게 기억하십시오. (
Kato

5
환경 변수를 설정하면 문자 'e'가 깨지는 이유를 누군가 설명 할 수 있습니까?
Russell Borogove 2016 년

3
/etc/inputrc환경 변수가 아닙니다. readline이 읽는 특정 입력 형식입니다.
MikeyB
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.