I don’t have a host that I can ssh to and control whether it’s up or not, but this should work:
while ! ssh <ip>
do
echo "Trying again..."
done
Or a shell script that is more explicit:
#!/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
Save it as (say) waitforssh.sh
and then call it with sh waitforssh.sh 192.168.2.38