Re: Control de latencia
Hola, intento echarte una mano con el script.
Te mando una versión corregida:
Primero:Parece que bash no entiende las
comparaciones entre números de coma flotante,
así que hay que convertirlo a entero. He escrito
un mini-programa en C para convertirlo
(te mando el código al final). Para compilarlo:
gcc archivo.c -o ejecutable.
Puedes convertirlo usando comandos del sistema
también. (awk o lo que quieras)
O sea que un número 123.4 hay que truncarlo a
123 o si quieres sofisticarlo más redondearlo.
La comparación del 500: utiliza la sintaxis de
bash: -gt en lugar de >
==========================================================
#!/bin/bash
clear;
latencia=`ping -c 4 www.yahoo.com | grep min/avg/max | awk '$4'| awk -F / '{print $4}'`
#TRANSFORMACIÓN DE LA VARIABLE LATENCIA
latencia=`/home/josemary/con $latencia . `
echo "El tiempo de latencia es" $latencia
# CAMBIO DEL OPERADOR
if [ $latencia -gt 500 ];
then
echo la latencia es muy alta, voy a reconectar
# reconecta
else echo La latencia esta bien, mantengo la conexión
fi
==========================================================
==========================================================
MINI-PROGRAMA EN C PARA TRUNCAR UN NUMERO EN COMA FLOTANTE
==========================================================
#include <stdio.h>
#include <string.h>
int main (int argc, char **argv) {
char * p_punto, *numero, *separador;
int longitud;
numero = argv[1];
separador = argv[2];
if (!separador || !numero ) {
printf("\nERROR\nNecesarios dos parámetros: número con decimales y carácter separador \n");
return 1;
}
p_punto = strstr(numero, separador);
if (! p_punto) {
printf("%s", numero?numero:argv[0] );
return 1;
}
*p_punto='\0';
printf("%s",numero);
*p_punto=*separador;
return 0;
}
==========================================================
MINI-PROGRAMA EN C PARA TRUNCAR UN NUMERO EN COMA FLOTANTE
==========================================================
--
______________________________________________
http://www.linuxmail.org/
Now with e-mail forwarding for only US$5.95/yr
Powered by Outblaze
Reply to: