■
ping の疎通確認を戻り値でやるかと思ったけど、どこまでが 0 になるのか微妙に気になったので雑に確認した。 とりあえず、1発でも成功すると 0 になるっぽい。
$ ping -c 5 8.8.8.8 ; echo $? PING 8.8.8.8 (8.8.8.8): 56 data bytes 64 bytes from 8.8.8.8: icmp_seq=0 ttl=57 time=4.167 ms 64 bytes from 8.8.8.8: icmp_seq=1 ttl=57 time=3.119 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=57 time=4.568 ms 64 bytes from 8.8.8.8: icmp_seq=3 ttl=57 time=2.870 ms 64 bytes from 8.8.8.8: icmp_seq=4 ttl=57 time=7.951 ms --- 8.8.8.8 ping statistics --- 5 packets transmitted, 5 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 2.870/4.535/7.951/1.821 ms 0 $ ping -c 5 8.8.8.8 ; echo $? PING 8.8.8.8 (8.8.8.8): 56 data bytes 64 bytes from 8.8.8.8: icmp_seq=0 ttl=57 time=7.794 ms 64 bytes from 8.8.8.8: icmp_seq=1 ttl=57 time=4.385 ms Request timeout for icmp_seq 2 64 bytes from 8.8.8.8: icmp_seq=3 ttl=57 time=9.956 ms 64 bytes from 8.8.8.8: icmp_seq=4 ttl=57 time=4.709 ms --- 8.8.8.8 ping statistics --- 5 packets transmitted, 4 packets received, 20.0% packet loss round-trip min/avg/max/stddev = 4.385/6.711/9.956/2.298 ms 0 $ ping -c 5 8.8.8.8 ; echo $? PING 8.8.8.8 (8.8.8.8): 56 data bytes 64 bytes from 8.8.8.8: icmp_seq=0 ttl=57 time=95.211 ms 64 bytes from 8.8.8.8: icmp_seq=1 ttl=57 time=17.201 ms ping: sendto: Network is down ping: sendto: No route to host Request timeout for icmp_seq 2 ping: sendto: No route to host Request timeout for icmp_seq 3 --- 8.8.8.8 ping statistics --- 5 packets transmitted, 2 packets received, 60.0% packet loss round-trip min/avg/max/stddev = 17.201/56.206/95.211/39.005 ms 0 $ ping -c 5 8.8.8.8 ; echo $? PING 8.8.8.8 (8.8.8.8): 56 data bytes ping: sendto: No route to host ping: sendto: No route to host Request timeout for icmp_seq 0 ping: sendto: No route to host Request timeout for icmp_seq 1 ping: sendto: No route to host Request timeout for icmp_seq 2 ping: sendto: No route to host Request timeout for icmp_seq 3 --- 8.8.8.8 ping statistics --- 5 packets transmitted, 0 packets received, 100.0% packet loss 2