我有一个脚本,它创建一个虚拟机,并给我一个IP地址.
然后我想做这样的事情:
然后我想做这样的事情:
waitfoRSSh 192.168.2.38 && ssh 192.168.2.38
它将等待机器启动并ssh响应,然后ssh进入它.
waitfoRSSh是我需要找到的命令.
nmap,netcat,fping还是ping这个工作?我尝试过netcat,但如果主机无法访问,它会在几秒内放弃.
它需要处理机器本身正在启动的事实,并且可能需要一些时间来响应网络数据包.
解决方法
我没有主机,我可以ssh并控制它是否正常,但这应该工作:
while ! ssh <ip> do echo "Trying again..." done
或者更明确的shell脚本:
#!/bin/sh ssh $1 while test $? -gt 0 do sleep 5 # highly recommended - if it's in your local network,it can try an awful lot pretty quick... echo "Trying again..." ssh $1 done