我有一些基本的Linux shell脚本,用于在Azure中部署新的Ubuntu VM。
deploy.sh脚本在本地运行,它使用Azure CLI创建VM。接下来,它与新创建的VM建立ssh连接,并发送一个名为cloud-init.sh的脚本,该脚本会安装一些软件包。这个脚本总是运行良好,没有任何问题。
但是,当cloud-init.sh脚本结束时,有时将不会将控制权返回给deploy.sh脚本。它可能会在10分钟后立即返回,或者永远不会......
我已经尝试了各种方法来指示脚本已完成(您将在下面看到它们),但是没有一种方法可以解决问题。有什么想法吗?
这是deploy.sh脚本中的ssh命令:
ssh -o BatchMode=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -T -i $SSHPEM $SSHUSERNAME 'bash -s' < cloud-init.sh
这是cloud-init.sh脚本的尾部:
echo "--------------------------------------------"
echo "cloud-init script ended at" $(date +"%T")
echo "--------------------------------------------"
exit 0
&
^D
提前致谢。