在我的 Linux 主机上,Ctrl+C似乎不起作用,我不知道如何继续使其工作。我使用 Ubuntu 10.04 和 bash 4.1.5(1),并在 Gnome 终端中工作。
当我在该脚本运行时按Ctrl+C时,它并没有导致它退出。
#!/bin/bash
for i in `seq 500`
do
ps -e > /dev/null
echo $i
done
答案1
中的默认设置gnome-terminal
绑定Ctrl-C
和Ctrl-V
键以模拟 Windows 的复制和粘贴行为。这是一个功能而不是一个错误:)
要禁用此功能,请在 gnome 终端上,
- 导航
Menubar -> Edit -> Keyboard Shortcuts
- 单击“快捷键”列中的Ctrl+ C,直到看到
New Accelerator...
。 - 按Backspace或Delete键禁用键绑定
- 验证
Disabled
现在是否出现在“快捷键”列中。
请注意,此更改将立即生效在全部gnome 终端。
提示:gnome-terminal --show-menubar
如果菜单栏未显示,将强制 gnome-terminal 显示菜单栏。
答案2
尝试这样做
$ stty sane
看看它是否解决了问题,还要检查 intr 是否设置正确
$ stty -a
如果您发现它的intr
设置与 ^C 不同,那么您也可以通过键入来修复它
$ stty intr ^v^c
答案3
由于它看起来像是一个损坏的gnome-terminal
配置,您可以尝试让它恢复默认值
mv .gconf/apps/gnome-terminal{,-BROKEN}
(您需要重新启动终端才能看到效果。)
如果之后一切正常,请执行rm -rf .gconf/apps/gnome-terminal-BROKEN
.
答案4
检查您是否尚未CTRL+C
映射为Copy to Clipboard
快捷方式。如果是这样,这将覆盖CTRL+C to quit
您习惯的内容。
SHIFT+CTRL+C
Linux 终端通常作为默认快捷方式提供Copy to Clipboard
,许多用户(包括我)将其更改为CTRL+C
来自其他操作系统的更直观。
考虑将停止过程快捷方式映射到CTRL+X
这样您就不必改变您的Copy to Clipboard
肌肉记忆:
stty intr ^x