Bash 绑定命令



我有一个非常奇怪的情况,当将 n 个终端登录到我的 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"

你试过这个吗?

bind '"R":self-insert'

或者这个,如果你不能输入"R":

bind '"'`echo -e 'x52'`'":self-insert'
rcap=$(echo r | tr '[a-z]' '[A-Z]')

此命令将变量设置为 rcap R 。现在您可以使用$rcap而不是R任何地方,例如在恢复R绑定的命令中:

bind "$rcap":"self-insert"

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

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

您也可以尝试将bind "R":"self-insert"添加到.bashrc并启动新终端。

相关内容

  • 没有找到相关文章

最新更新