在我的.bashrc
文件中,我尝试将自定义转义序列键绑定到控制序列。
我所拥有的是: 它不执行取消进程执行的
bind -x '"\eJD0C": "^C"'
shell 控制序列。 那么有没有办法做到这一点呢? 还是不可能? 如果不可能,我应该考虑哪些替代方案?^C
答案1
这不是 shell 控制序列。
它是一个特殊字符,被认可的线路纪律当它在规范输入模式。
三件事对你不利:
- 线路纪律不在当 Bourne Again shell 使用 GNU Readline 库以交互方式读取输入行时的规范模式。它处于非规范模式,并且线路规则的所有特殊字符识别都被关闭。
- 当 Bourne Again shell 执行某些操作时,GNU Readline 库不负责输入以外以交互方式读取一行输入,以及为 Readline 库设置的映射在这些点上是不相关的。当您在 shell 等待子进程终止时输入特殊字符时,这将由行规则处理。
- 线路规则只能将单个字符识别为特殊字符,而不是终端用于编码编辑和功能键的多个字符序列。用于设置特殊字符的终端API仅适用于单个字符。