如何告诉我的bash不回复^ C回到终端?
如果我在bash会话中按Ctrl + C,则终端窗口中不会打印任何内容。但是如果我用Ctrl + C终止某个程序,有时会在我的终端中回显并打印^ C.有没有办法告诉我的bash我不想回复^ C?
答案 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的陷阱:
其中Tred是一个打印红色文本的功能。如果您不想显示任何内容,请使用:
Trap2 () ( Tred "%6s–<Interrupt>–\n" ''; return 202 ); trap Trap2 SIGINT
干杯!Trap2 () ( Tred "%6s–<Interrupt>–\n" ''; return 202 ); trap Trap2 SIGINT