CTRL-C 在远程会话中不起作用

CTRL-C 在远程会话中不起作用

我编写了一个远程 shell 工具,其工作原理类似于“中继 ssh”。它可以配置为/bin/bash/bin/login用户连接到远程服务器时运行。

我发现了一个奇怪的问题:如果它运行/bin/bashCTRL-C将不起作用,例如,如果我运行tail -f /var/log/syslog,然后点击CTRL-C,它不会终止tail,而只是^C在屏幕上回显。

但是,如果运行/bin/loginCTRL-C则一切正常。如何才能让它在直接运行 BASH 时也能正常工作?

编辑

我使用 启动了 bash -i,然后它就可以正常工作了。如果我提供-l,它仍然不起作用。从 BASH 的手册页中,我只看到如何在交互的模式,以及在该模式下加载什么文件。但没有解释什么是交互模式,以及 bash 在交互模式和非交互模式下的不同功能,或者更根本的是,为什么 bash 中有两种模式,目的是什么??

相关内容