Keep it Simple
until nc -z 127.0.0.1 25565
do
echo ...
sleep 1
done
Lascia che la shell gestisca implicitamente lo stato di uscita
La shell può gestire lo stato di uscita (registrato in $?
) in due modi, esplicito e implicito.
Esplicito:status=$?
, che consente un'ulteriore elaborazione.
Implicito:
Per ogni affermazione, nella tua mente , aggiungi la parola "succeeds" al comando, quindi aggiungi if
, until
o while
costruisce intorno a loro, finché la frase non ha senso.
until nc
riuscisce ; do ...; done
Il -z
l'opzione interromperà nc
dalla lettura di stdin, quindi non c'è bisogno del < /dev/null
reindirizzare.
Potresti provare qualcosa come
while true; do
nc 127.0.0.1 25565 < /dev/null
if [ $? -eq 0 ]; then
break
fi
sleep 1
done
echo "The command output changed!"