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 <[EMAIL PROTECTED]> 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: [email protected] > 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 <[EMAIL PROTECTED]> 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] --------------------------------------------------------------------- Esta lista não admite a abordagem de outras liguagens de programação, como perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio aviso. --------------------------------------------------------------------- Sair da lista: [EMAIL PROTECTED] --------------------------------------------------------------------- Esta lista é moderada de acordo com o previsto em http://www.listas-discussao.cjb.net --------------------------------------------------------------------- Servidor Newsgroup da lista: news.gmane.org Grupo: gmane.org.user-groups.programming.shell.brazil Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/shell-script/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
