CTRL+C 删除 ^C

Fed*_*old 29 shell

^C当您在 Red Hat Enterprise Linux 6(“圣地亚哥”)的 shell 中点击CTRL+时,是否有任何方法可以删除C?我有权编辑我自己的.bash_profile.

Kus*_*nda 32

编辑(或创建)您的~/.inputrc文件。添加一行说

set echo-control-characters Off
Run Code Online (Sandbox Code Playgroud)

这将指示 GNU Readline 库(Bash 使用)不向屏幕输出(回显)任何控制字符。此设置将在此后的所有新 Bash 会话中激活(以及在使用 Readline 库的任何其他实用程序中)。

请注意,如果您的 Unix 系统带有 Readline 库的系统范围配置文件(通常为/etc/inputrc),那么您的个人配置文件将需要包含该文件:

$include /etc/inputrc
set echo-control-characters Off
Run Code Online (Sandbox Code Playgroud)

另一种选择是制作系统范围配置文件的个人副本,然后对其进行修改。

  • @kasperd 好点!我不知道添加个人配置文件会禁用系统范围配置文件的读取(我的系统没有)。我会更新我的答案。 (2认同)

phk*_*phk 25

请尝试以下操作:

stty -echoctl
Run Code Online (Sandbox Code Playgroud)

有关解释,请参阅Stéphane Chazelas 的这篇精彩而详细的帖子,其中还解释了一些其他功能stty

如果您想让该更改永久化(并且您正在bash按照问题中暗示的方式使用),那么最好.bashrc按照jlmg在评论中的说明进行添加(因此它适用于所有交互式 shell)。