Bash绑定命令

时间:2014-02-25 12:47:44

标签: bash

我有一个非常奇怪的情况,当记录到我的Centos主机的终端时,大写r不起作用,它没有输入任何内容。

例如,当我编辑文件时,它确实有用。

经过长时间搜索可能的问题后,我想我发现问题是我没有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”:)

3 个答案:

答案 0 :(得分:5)

你试过这个吗?

bind '"R":self-insert'

或者,如果你不能输入“R”:

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

答案 1 :(得分:1)

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

此命令将rcap变量设置为R。现在,您可以在任何地方使用$rcap代替R,例如在恢复R

的绑定的命令中
bind "$rcap":"self-insert"

当然,您也可以编辑脚本并从bash获取脚本,然后您可以使用R

答案 2 :(得分:0)

我的猜测是在某处删除了映射。运行bash -x以启动新shell并查看启动时执行的命令。

您还可以尝试将bind "R":"self-insert"添加到.bashrc并开始新的终端。