Página 1 de 2 12 ÚltimoÚltimo
+ Responder ao Tópico



  1. #1
    Walfredo
    Estou desenvolvendo um sistema para que se o load do servidor ultrapassar 10 o sistema mate o processos ou serviços, como mysql, exim...

    porém esbareri em um problema estou tendo que converter um número decimal para inteiro, isto é possível???

    Por exemplo, eu pegar o valor 10.257 e converter ele para 10 ou para 11 sei lá...

    Como faço isto, quais comandos?

    Abraços

  2. Fiz um script em perl que transforma bases numéricas, cadeias de caracteres, etc.. Não utilizei os packages do perl pois queria ver QUANTO trabalho eu teria, se iria conseguir, etc.. foi umas dos primeiros scripts em perl que fiz.. sinta-se a vontade em alterá-lo.

    http://phoenix.enforce.com.br/pub/nbc

    Ou use a lógica dele para fazer em outra linguagem (C ou PHP por exemplo).
    Se tiver php instalado, mais fácil ainda, o php assim como o perl já tem packages para fazer isso, só pesquisar a respeito.

    www.php.net
    www.perldoc.com

    Tem a "calc" do linux também, várias distribuições mantém esse pacote.
    Mas eu nunca utilizei, se quiser tentar.. olha as man-pages: "man calc", ou
    http://www.isthe.com/chongo/man/calc.1.html

    Abraços



  3. Desculpe, estou com a cabeça nas nuvens. Não prestei atenção no seu problema hehe. foi mal.. achei que você queria transformar para hexadecimal ou outra base qualquer.

    Se quiser só pegar a parte inteira do número:

    Código :
     phoenix@devel ~ $
     phoenix@devel ~ $ cat > hex.c
    #include <stdio.h>
     
    int main(int argc, char **argv)
    {
        if (!argv[1])
        {
            printf("usage: %s <numero>\n", argv[0]);
            return 1;
        }
        printf("%d\n", (unsigned long)atoi(argv[1]));
        return 0;
    }
     
     phoenix@devel ~ $ gcc -o hex hex.c
     phoenix@devel ~ $ ./hex 234.123
    234

  4. #4
    veiga
    Olá,

    Citação Postado originalmente por Walfredo
    Estou desenvolvendo um sistema para que se o load do servidor ultrapassar 10 o sistema mate o processos ou serviços, como mysql, exim...

    porém esbareri em um problema estou tendo que converter um número decimal para inteiro, isto é possível???

    Por exemplo, eu pegar o valor 10.257 e converter ele para 10 ou para 11 sei lá...

    Como faço isto, quais comandos?

    Abraços
    Não sei como fazer type cast em shell script! mas soh pra quebrar o galho eu faria algo assim:

    Código :
    x=10.257 
    x=`echo $x | cut -d. -f1`
    echo $x 
    10

    Ah, voce tbm pode usar declare -i var pra declarar uma variavel como inteiro!

    feito!



  5. #5
    veiga
    Citação Postado originalmente por ph0enix
    Desculpe, estou com a cabeça nas nuvens. Não prestei atenção no seu problema hehe. foi mal.. achei que você queria transformar para hexadecimal ou outra base qualquer.

    Se quiser só pegar a parte inteira do número:

    Código :
     phoenix@devel ~ $
     phoenix@devel ~ $ cat > hex.c
    #include <stdio.h>
     
    int main(int argc, char **argv)
    {
        if (!argv[1])
        {
            printf("usage: %s <numero>\n", argv[0]);
            return 1;
        }
        printf("%d\n", (unsigned long)atoi(argv[1]));
        return 0;
    }
     
     phoenix@devel ~ $ gcc -o hex hex.c
     phoenix@devel ~ $ ./hex 234.123
    234
    ph0enix, olhando o sei código percebi que vc não costuma usa a opcao -Wall no gcc. Te aconselho a usar sempre!!

    feito!






Tópicos Similares

  1. Lista de Valores (permissoes)
    Por terra_jr no fórum Servidores de Rede
    Respostas: 6
    Último Post: 02-08-2005, 09:10
  2. SARG: Conversão de IP em NOME (Com DHCP!)
    Por no fórum Servidores de Rede
    Respostas: 2
    Último Post: 09-07-2005, 13:22
  3. Conversão de BD
    Por no fórum Servidores de Rede
    Respostas: 4
    Último Post: 31-05-2004, 07:12
  4. Conversão de Ext3 para Ext2
    Por mabreu no fórum Servidores de Rede
    Respostas: 1
    Último Post: 16-03-2004, 20:02
  5. Servidor/Proverdor de contas Shell
    Por no fórum Servidores de Rede
    Respostas: 4
    Último Post: 06-11-2002, 14:50

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L