Я провожу несколько тестов на пинг.
Что означает ping -c 1
? Для чего можно использовать эту команду? Почему я могу найти ее в сценарии bash?
Та команда означает проверять с помощью ping-запросов что-то в 1 раз (1 количество). Без эти -c
, это будет продолжать проверять с помощью ping-запросов IP-адрес, пока Вы не скажете этому останавливаться. В сценариях мне нравится проводить подсчет по крайней мере 2 в случае, если первый ping перестал работать.
можно использовать его, чтобы проверить, жив ли IP-адрес, и затем проверьте на результаты.
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
1
выше средств это не смогло проверить с помощью ping-запросов тот адрес.
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
0
выше средств команда, из которой выходят без ошибок.
Так в сценарии, можно использовать его как так:
#!/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
Hope это помогает!