小编pbu*_*eit的帖子

如何创建在执行远程命令后退出 ssh 会话的 shell 脚本

我正在尝试编写一个 bash 脚本来编译一些代码并将其部署到远程服务器。到目前为止,我一直在努力弄清楚如何让脚本退出 ssh 会话。我以为我可以只使用“exit”,但似乎退出脚本而不实际关闭 ssh 会话。在 ssh 命令中使用“-f”标志是我见过的另一个选项,但这限制了我可以做的事情而不会让我的脚本变得混乱。-f 要求将所有远程命令塞进对 ssh 的一次调用中。对于一两个命令来说这很好,但对于更复杂的操作来说会变得混乱。

是否还有其他选项允许在 shell 脚本中启动和关闭 ssh 会话?

作为参考,这里有一个快速示例脚本:

#!/bin/bash
echo 'starting a thing...'
mkdir folderA
ssh -f messagecenter-dev -p 22001 'uptime; free -m | cat /proc/loadavg'
cd folderA
echo 'I did a thing!'
exit
Run Code Online (Sandbox Code Playgroud)

我该如何在不需要使用“-f”的情况下做到这一点?

ssh unix bash macos

1
推荐指数
1
解决办法
1031
查看次数

标签 统计

bash ×1

macos ×1

ssh ×1

unix ×1