[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: