Működik ez...
Más kérdés, hogy nem
if `ping ...`
hanem
if ping ...
Neked ui. nem a ping lefutásával gyártott sztringgel van dolgod, hanem a ping által visszaadott exitkóddal.
Amit fentebb csinálsz, egyébként azt műveli, hogy a ping által gyártott sztringnek megfelelő nevű parancsot futtatná le - ami valószínűtlen, hogy volna - és a kísérlet hibakódját kapja az if, annak alapján dönt arról, hogyan tovább.
Ezt a viselkedését pont eldugod a parancs mindennemű kimenetének semmibe irányításával.
Az ilyen átirányításokra ráérsz akkor, amikor már biztos vagy a dolgodban.