使用 ssh 执行命令并防止连接关闭(使用 Control + C)

使用 ssh 执行命令并防止连接关闭(使用 Control + C)

我能够 cd /var/www/test; tail -f log/*.log;通过 ssh 连接远程执行命令:

ssh -t [email protected] "cd /var/www/test; tail -f log/*.log; exec $SHELL -l"

效果很好。
但是,一旦我按下Control + C停止命令来执行其他操作,它就会关闭连接,并显示

与 xx.yy.zz.aa 的连接已关闭。

如何防止这种情况并在按下后仍保持连接Control + C

答案1

那不应该发生。ssh应关闭终端中的信号生成。

您可以尝试捕获SIGINT调用的 shellssh

trap '' SIGINT

但另一端的进程也不会收到信号。

^C您也可以尝试按ssh以下方式发送文字:

^V^C

通常^V是终端的“引用”字符。即,它不是解释^C为生成信号,而是只是按字面意思传递。

相关内容