在 shell 脚本里使用 ssh 在远程主机执行脚本时无法关闭连接
例如
1 | ssh user@ipaddress '~/my_script.sh' |
脚本执行完毕连接不会关闭, 需要你手动 Ctrl + C 关闭连接.
解决方案
1 | ssh user@ipaddress '~/my_script.sh && exit' |
当你在远程主机执行的脚本由本地主机推送的话
例如
1 | ssh user@remoteNode < test.sh |
你可以在本地脚本里添加
1 | kill -SIGHUP $PPID |
kill 掉当前的 ssh
但是这样会导致, 你尝试捕获 SSH 是否成功执行时, 总是得到失败的结果.
参考链接
https://superuser.com/questions/207453/ssh-and-shell-through-ssh-how-to-exit?noredirect=1&lq=1