2014-02-25 207 views
4

我有一個非常好奇的情況,當登錄n終端到我的Centos主機大寫r不起作用時,它不輸入​​任何內容。Bash綁定命令

它在我編輯文件時工作,例如。

漫長的尋找可能的問題後,我想我找到了問題是,我對R沒有綁定關聯,看到並從bind -p輸出提取:

======= 

"M": self-insert 
"N": self-insert 
"O": self-insert 
"P": self-insert 
"Q": self-insert 
"S": self-insert 
"T": self-insert 
"U": self-insert 
"V": self-insert 

============ 

正如你所看到的「R 「缺少,我該如何添加它?請記住,我不能在我的終端上鍵入「R」 :)

+0

也許惡作劇的朋友嗎? –

+1

+1爲朋友:) – mgarciaisaia

+0

檢查'bind/R:'〜/ .bashrc','〜/ .profile','/ etc/bash_completion','/ etc/bash_completion.d/*'。 '命令。 – loentar

回答

4

你試過了嗎?

bind '"R":self-insert' 

或這一點,如果你不能鍵入 「R」:

bind '"'`echo -e '\x52'`'":self-insert' 
+0

+1用於生成R – mgarciaisaia

+0

第二個命令做了它,必須使它永久化,將嘗試添加到一些啓動文件 – Cris

1
rcap=$(echo r | tr '[a-z]' '[A-Z]') 

此命令設置rcap變量R。現在,您可以在任何地方使用$rcap而不是R,例如,在恢復的R綁定命令:

bind "$rcap":"self-insert" 

當然,你也可以從bash編輯腳本和源吧,在那裏你可以使用R

+1

這個命令應該達到什麼目的? –

+0

@AaronDigulla:見編輯。 –

0

我的猜測是,映射在某處刪除。運行bash -x以啓動一個新的shell並查看啓動時執行哪些命令。

您也可以嘗試將bind "R":"self-insert"添加到您的.bashrc並開始新的終端。