我正在尝试编写一个 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”的情况下做到这一点?