shell-script-pt
[Top][All Lists]
Advanced

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

Re: [shell-script] Script não acho oq pode estar errado


From: rafael.nery
Subject: Re: [shell-script] Script não acho oq pode estar errado
Date: Fri, 18 Aug 2006 10:23:53 -0300

Tá ai:
cat -vet testeup
2$

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
Mas ainda n está funcionando.
Ele sempre cai no else.

> 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]
> 
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]