Este script parece funcionar:
#!/bin/sh
HOST="verizon.net"
MIN_TIME=80
LOOP="TRUE"
while [ $LOOP = "TRUE" ]
do
latency='ping -c 1 $HOST | head -2 | tail -1 | sed -e 's/.*time=\(.*\) ms//' | sed -e 's/\..*//''
echo "Latency: $latency"
if [ $latency -lt $MIN_TIME ]
then
echo "Target latency ($MIN_TIME) achieved!"
LOOP="FALSE"
fi
done
A saída é assim, parando quando fica abaixo do limite (80 ms):
Latency: 83
Latency: 88
Latency: 119
Latency: 77
Target latency (80) achieved!
Ajuste as variáveis no script para seu uso. Talvez seja necessário ajustar as partes head / tail / sed para sua saída ping
. Isso foi escrito usando ping
do Mac OS X 10.9.