现在,我正在pipe理一个Ubuntu 14.04.2 LTS服务器上遇到一些非常奇怪的行为。
用cygwin(mintty)或Linux机器上的terminal通过ssh连接到服务器,我不能input字母e 。
我做了以下debugging:
e可以在远程服务器上的vim中input e可以在本地机器的terminal上键入 $TERM被设置为xterm $LANG , $LANGUAGE和$LC_ALL被设置为de_DE.utf8 locale charmap返回UTF-8 现在,我完全没有想到这可能是什么原因造成的。
我会很高兴有关如何解决这个问题的build议。
我的问题是不一样的, 不能在亚马逊ec2(亚马逊Linux)中input较低的套数e ,但类似。
在检查/etc/inputrc之后没有发现任何exception,我记得我在/etc/bash.bashrc做了一些键盘绑定。 尽pipe这已经很久了,并且完美无瑕。 为什么现在会出现问题?
当我检查/etc/bash.bashrc时发现:
由于所有文件都是使用合理的方式进行pipe理的,所以这个命令也被插入了:
- 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"
可以肯定的是,最近一次可靠的更新改变了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
因此导致了怪异的行为。
非常感谢Eric Renouf ,因为他和其他问题有类似的问题。