Dlaczego tak
Pętla until wykonuje ciało dopóty, dopóki polecenie warunku kończy się błędem, więc ping jest ponawiany, aż serwer odpowie (kod wyjścia 0). Pętla while działa odwrotnie — powtarzałaby pingi tylko wtedy, gdy serwer już odpowiada, i zakończyłaby się przy pierwszym niepowodzeniu. Pętla for wykona stałą liczbę prób, a instrukcja if sprawdzi warunek tylko raz.