2014-02-25 166 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并开始新的终端。