无法在 amazon ec2 (Amazon Linux) 中输入小写的 e

Kat*_*ato 16 ssh bash amazon-ec2 sh

在我的新 ec2 版本上运行几天后,发生了以下情况:

  1. 我登录 SSH,一切正常,我开始编码
  2. 我第二天回来,登录SSH
  3. 我不能再输入小写字母e了——输入时出现错误提示
  4. 我尝试从另一台计算机 ssh,同样的问题
  5. 我重启服务器,同样的问题
  6. 我打开nanovie工作正常,只是没有在bashsh
  7. 我终止了服务器,创建了一个新的,从头开始安装,几天后它又发生了

这令人费解!我什至可以从哪里开始进行故障排除?

我的本地机器设置:

  • 视窗 XP 或 7
  • 腻子(最新)或 cygwin/openssh

EC2 设置

stty -awhile I can't type an 的输出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
Run Code Online (Sandbox Code Playgroud)

如果它可以帮助遇到类似问题的其他人,我创建了一个脚本(称为sub)将大写 E 转换为小写,然后回显命令。然后我在反引号中运行它以e在命令行上获得一个::

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

> `sub Emacs /Etc/profilE`
Run Code Online (Sandbox Code Playgroud)

更新

  1. 这对所有用户来说都是中断的
  2. 仅在 bash 中(csh 工作正常)
  3. 仅在 emacs 编辑模式下

我创建了一个聊天室来讨论这个问题并磨练解决方案。

Mik*_*eyB 21

你错误地输入了:

export EDITOR=/usr/bin/emacs
Run Code Online (Sandbox Code Playgroud)

进入你的/etc/inputrc. 这会将字母“e”映射到任何内容。

删除它,你应该没问题。

  • 有人可以解释为什么设置环境变量会破坏字母“e”? (5认同)
  • `/etc/inputrc` 不适用于环境变量。它是 readline 读取的特定输入格式。 (3认同)