停止回显^ C到终端

时间:2009-01-06 20:48:31

标签: bash

如何告诉我的bash不回复^ C回到终端?

如果我在bash会话中按Ctrl + C,则终端窗口中不会打印任何内容。但是如果我用Ctrl + C终止某个程序,有时会在我的终端中回显并打印^ C.有没有办法告诉我的bash我不想回复^ C?

3 个答案:

答案 0 :(得分:15)

在Linux下:

stty -ctlecho

(道具向查理提示 - 我只是去查了一下)

答案 1 :(得分:4)

嗯,我相信它实际上回应了“插入符号-C”,而不是CTRL-C字符。除此之外,这实际上是tty驱动程序的函数,而不是shell;驱动程序实际上拦截CTRL-C字符,为进程生成SIGINT,然后回显字符。如果有一种方法可以在您的系统上执行此操作(这将严重依赖于操作系统),它将记录在 stty(1)手册页或 tty(4)司机页面。

答案 2 :(得分:0)

您可以捕获sigint ...将函数放入.bashrc或.profile。这是我对sigint的陷阱:

Trap2 () ( Tred "%6s–<Interrupt>–\n" ''; return 202 ); trap Trap2 SIGINT
其中Tred是一个打印红色文本的功能。如果您不想显示任何内容,请使用:
Trap2 () ( Tred "%6s–<Interrupt>–\n" ''; return 202 ); trap Trap2 SIGINT
干杯!

- Aesthir