改变启动时控制信号的行为

改变启动时控制信号的行为

我正在尝试使用 更改控制信号的默认行为stty。信号如 Ctrl+C、Ctrl+D、Ctrl+Z、Ctrl+\。有人能告诉我如何使用 禁用和启用控制台上的这些信号吗stty

答案1

您可以使用以下命令“捕获”命令(和组合键)trap

trap "echo CTRL+C not allowed" 2

CTRL+C现在,当我在终端中使用时,我收到以下消息:

CTRL+C not allowed

或者,trap "" 2如果您只是想陷印CTRL+C而不打印任何内容。

要清除陷阱,只需执行以下操作:

trap - 2


阅读陷阱的手册页这里。有关信号和陷阱的更多信息可以找到这里

答案2

trap 在 CTRL+Z 上不起作用,当您提供 CTRL+Z 时,处理程序将不会执行,并且您的控制台将变得非交互式

相关内容