0%

shell用ssh在远程主机执行命令时如何退出

在 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