![用于登录远程服务器并执行进一步命令的 Shell 脚本](https://linux22.com/image/204453/%E7%94%A8%E4%BA%8E%E7%99%BB%E5%BD%95%E8%BF%9C%E7%A8%8B%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%B9%B6%E6%89%A7%E8%A1%8C%E8%BF%9B%E4%B8%80%E6%AD%A5%E5%91%BD%E4%BB%A4%E7%9A%84%20Shell%20%E8%84%9A%E6%9C%AC.png)
我正在用 Shell 脚本自动化一些东西。作为其中的一部分,我需要 shell 脚本来 ssh 到远程服务器,更改远程服务器的主机名,修改文件夹名称并保持其内容不变,然后重新启动服务器。这是我试图执行的代码:
echo "Connecting to $publicip"
ssh -i ./key.txt root@$publicip 'sudo hostnamectl set-hostname autotest$i.domain.com | sudo mv /etc/letsencrypt/live/autotest.domain.com /etc/letsencrypt/live/autotest$i.domain.com | reboot'
我可以看到该脚本能够通过 SSH 连接到服务器,但是一旦连接成功,我就会看到以下输出。并且在检查远程服务器时,上述系列活动并未执行。
Connecting to --.--.---.--
Connection to --.--.---.-- closed by remote host.
有人可以尽早帮我解决这个问题吗?