我使用bash脚本设置ssh隧道,ssh隧道配置为共享持久连接隧道。
但是,在我的脚本结束时,我设置了对隧道调用close命令并删除.ssh / config文件以使其不会保持打开状态,也不会手动执行后续的ssh隧道由用户启动。
问题是这个...处理这个问题的最佳方法是什么来确保隧道是关闭的,以防有人ctrl + c脚本或者在脚本调用关闭之前由于某种原因在脚本中间崩溃命令并删除配置文件?我打算在控制主机上添加一个超时,但根据ssh_config手册页中的读数,我无法确定需要使用的内容。
答案 0 :(得分:1)
尝试使用trap:
#!/bin/bash
on_sigint(){
echo this function is called on ctrl+c
}
trap "on_sigint" SIGINT SIGTERM
echo start
# Do what you want
...
echo stop