Esse comando significa pingar algo 1 vez (1 contagem). Sem o -c
, ele continuará fazendo o ping do endereço IP até que você pare. No script, eu gosto de fazer uma contagem de pelo menos 2 no caso do primeiro ping falhar.
Você pode usá-lo para verificar se um endereço IP está ativo e, em seguida, verificar os resultados.
terrance@terrance-ubuntu:~$ ping -c 1 10.0.0.254
PING 10.0.0.254 (10.0.0.254) 56(84) bytes of data.
From 10.0.0.100 icmp_seq=1 Destination Host Unreachable
--- 10.0.0.254 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
terrance@terrance-ubuntu:~$ echo $?
1
O 1
acima significa que não foi possível efetuar o ping desse endereço.
terrance@terrance-ubuntu:~$ ping -c 1 10.0.0.253
PING 10.0.0.253 (10.0.0.253) 56(84) bytes of data.
64 bytes from 10.0.0.253: icmp_seq=1 ttl=255 time=0.584 ms
--- 10.0.0.253 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.584/0.584/0.584/0.000 ms
terrance@terrance-ubuntu:~$ echo $?
0
O 0
acima significa que o comando saiu sem erros.
Então, em um script, você pode usá-lo assim:
#!/bin/bash
ping -c 2 10.0.0.253
case $? in
0) echo "The host is alive.";;
1) echo "The host is not responding.";;
esac
Espero que isso ajude!