Ubuntu
無法通過 ssh 輸入字母“e”
現在,我正在管理的 Ubuntu 14.04.2 LTS 伺服器上遇到一些非常非常奇怪的行為。
通過 ssh 從 cygwin(mintty) 或 Linux 機器上的終端連接到伺服器,我無法輸入字母
e
。我做了以下調試:
e
可以在遠端伺服器上用vim輸入字母- 字母
e
可以在本地機器上的終端中輸入$TERM
設定為xterm
$LANG
,$LANGUAGE
並$LC_ALL
設置為de_DE.utf8
locale charmap
返回UTF-8
現在,我完全不知道是什麼原因造成的。
對於如何解決這個問題的一些建議,我會很高興。
我的問題與can’t type lower caseed e in 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
因此導致了奇怪的行為。
非常感謝Eric Renouf,因為他連結到了另一個有類似問題的問題!