[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] procedimento de verificacao
From: |
marcus |
Subject: |
Re: [shell-script] procedimento de verificacao |
Date: |
Thu, 12 Aug 2010 08:50:24 -0300 |
User-agent: |
KMail/1.13.5 (Linux/2.6.34-ARCH; KDE/4.4.5; i686; ; ) |
On Thursday 12 August 2010 03:05:44 you wrote:
> On 08/11/2010 10:01 PM, Francisco - Yahoo wrote:
> > boa noite a todos, to com uma duvida e gostaria da orientacao de vcs, ja
> > fiz busca no google e nao encontrei o que queria ou entao procurei pelo
> > procedimento errado, mas vamos aos fatos.
> > para agilizar meus procedimentos pretendo fazer um script que informe
> > se uma aplicacao sendo executada pelo wine esta em execucao e em caso
> > negativo ela seja ativada, o procedimento sera feito a cada 15 minutos.
> > li a respeito do comando ps e ele me informa realmente se a rotina esta
> > em execucao.
> >
> > # ps aux | grep aplicativo.exe | wc -l
> > 2 significa que esta sendo executado
> > 1 significa que nao esta sendo executado
> > ( foi o que eu entendi )
> >
> > entao como coloco a instrucao de retorno dentro do if
> >
> > #!/bin/bash
> > # limpar o terminal
> > nrotina = ps aux | grep BaixarXml.exe | wc -l
> > if [ $nrotina -eq 1] then
> >
> > echo " apenas 1 rotina encontrada "
> >
> > else
> >
> > echo " diferente de 1 rotina encontrada "
> >
> > fi
> >
> > Agradeco a orientacao, se nao for incomodo demais, me explique o erro,
> > para que eu possa entender.
>
> Deixa eu ver se eu interpretei corretamente seu e-mail.
>
> A linha nrotina = ps aux | grep BaixarXml.exe | wc -l está errada. Não é
> assim que se faz em shell-script. Uma forma é:
>
> nrotina=$(ps aux | grep BaixarXml.exe | wc -l)
>
> Não há espaços entre o nome da variável e o sinal de = e os comandos devem
> ser chamados em um sub-shell (o $() lá).
>
> Como você não disse qual é o erro, esse é um deles. O outro é a construção
> do if, onde falta um ponto-e-vírgula entre o fechamento do teste e a
> expressão then. A linha deveria ser assim:
>
> if [ $rotina -eq 1 ] ; then
>
> Agora, você coloca uma frase lá que diz: "entao como coloco a instrucao de
> retorno dentro do if". Não sei se é uma introdução onde você quer dizer
> "vejam como eu coloco a instrução de retorno dentro do if" ou se é uma
> pergunta, já que você teve zero de preocupação com a pontuação no seu
> e-mail.
>
> Recomendo que você:
>
> a) Estude bastante shell-script
> b) Estruture melhor suas questões, para ter respostas mais precisas. Tudo
> bem que "esses gurus tem poderes adivinhatórios", mas como já diria aquele
> velho radialista, quem não se comunica, se estrumbica, e você realmente
> não se comunicou muito. Se você não sabe perguntar, não vai ter respostas
> certas. Veja que nem no Google você conseguiu encontrar nada.
Essa lista aqui está ficando elitista demais.
Abs!
--
() ascii ribbon campaign - against html e-mail
/\ www.asciiribbon.org - against proprietary attachments
Why is it evil? --> http://www.georgedillon.com/web/html_email_is_evil.shtml