[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Script não acho oq pode estar errado
From: |
Julio C. Neves |
Subject: |
Re: [shell-script] Script não acho oq pode estar errado |
Date: |
Fri, 18 Aug 2006 01:38:11 -0300 |
Então vc está comparando melão com melancia. O uptime te produz uma sentença
e a sua variável tem somente um número.
Te pedi para dar um cat -vet no arquivo para ver se não tinha nehuma sujeira
invisível (como branco, <TAB>, ...) mas vc preferiu não mandar. Aí fica mais
difícil e perdemos mais tempo (observe o horário desta msg).
O -gt é para compara números o > é para cadeias. Isso está muito bem
explicado no cmd test em www.julioneves.com
[ ]s,
Julio
:wq
Em 17/08/06, Rafael Nery <address@hidden> escreveu:
>
> Oi...
> O conteúdo do arq. é simplesmente o resultado do uptime que é armazenado
> nele para comparar com o próximo...
> Mas eu percebi que não posso comparar números como se fossem strings.
> Agora vai minha outra dúvida... quando usar " " na variável e quando não
> usar.
> Obrigado Julio
> []s
>
> ----- Original Message -----
> From: Julio C. Neves
> To: address@hidden
> Sent: Thursday, August 17, 2006 8:20 PM
> Subject: Re: [shell-script] Script não acho oq pode estar errado
>
>
> Fala Rafael,
> seu script pode ser melhorado e não é só nisso não, porém não dá para
> saber
> o que está ocorrendo sem ver o conteúdo do arq /home/rafael/testeup. Dê
> o
> comando cat -vet /home/rafael/testeup e mostre a saída na lista.
>
> Se eu entendi parte do que vc quer fazer, o programa poderia ser
> otimizado
> ficando +/- assim:
>
> #!/bin/bash
> #Variaveis Globais
> DAYS=`uptime | cut -f5 -d" "`
> VAR2=`cat /home/rafael/testeup 2> /dev/null || echo 0` # Se o arq ñ
> existir
> VAR2 recebe 0
> if [ "$DAYS" -gt "$VAR2" ]
> then
> echo "OK"
> else
> echo "Server foi desligado"
> fi
> echo $DAYS > /home/rafael/testeup
>
>
> [ ]s,
> Julio
> :wq
>
>
>
> Em 17/08/06, rafael.nery <address@hidden> escreveu:
> >
> > Alguém pode me auxiliar nesse script:
> > #!/bin/bash
> > #Variaveis Globais
> > #DAYS=`/usr/bin/uptime | cut -c14-15`
> > DAYS=`uptime | cut -f5 -d" "`
> > VAR2=`cat /home/rafael/testeup`
> > if [ "$DAYS" -gt "$VAR2" ]
> > then
> > echo "OK"
> > `/usr/bin/uptime | cut -f5 -d" " | cat > /home/rafael/testeup`
> > else
> > echo "Server foi desligado"
> > `/usr/bin/uptime | cut -f5 -d" " | cat > /home/rafael/testeup`
> > fi
> >
> > Com a opção de -gt ele sempre cai no else. Se eu coloco > ele sempre
> cai
> > no then.
> >
> >
> >
> >
>
>
>
> --
> Abraços,
> Julio
> http://www.julioneves.com - Um livro sobre Bash completo e on-line
> :wq
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
--
Abraços,
Julio
http://www.julioneves.com - Um livro sobre Bash completo e on-line
:wq
[As partes desta mensagem que não continham texto foram removidas]