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

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

Re: [shell-script] procedimento de verificacao


From: MrBiTs
Subject: Re: [shell-script] procedimento de verificacao
Date: Thu, 12 Aug 2010 03:05:44 -0300
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.11) Gecko/20100713 Lightning/1.0b1 Thunderbird/3.0.6

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

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.

- -- 

Um abraço

.0. MrBiTs - address@hidden
..0 GnuPG  - 
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x6EC818FC2B3CA5AB
000 http://www.mrbits.com.br


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iQEcBAEBCAAGBQJMY48wAAoJEG7IGPwrPKWr4gcIAIRUrHTbiooXQNNC1H+HRsJj
cK0zzR5/+2DEu4qa4X3ppqH/ZweanzI4ZcxyKjLA3MsG6D19JklBrKHyyVEts5en
GcXufwmyoNHyasAqOjS3tAGoEcDZULIxVgHdU+8Hfdf/7L3xHr6XHK7mzASIK9VL
EPCsl/4xuu03DSg7tC/U++cx+BWfNrSIQpeE/ZMZcQbKs1Pkv7Ux0PPpNSuXyl6m
rwYGh4UBPp6CGmd7Dsad4vvwcVPpPFJI0fLQOV3ZeEJuyKGUjAtcdeEp2ez0nrFH
Rs3ZOowuL0gD9wA5JYEsHfGpgyiMpkVYXf5NO9yF4xGgomtVikSZC9Vo135WSIQ=
=8uQZ
-----END PGP SIGNATURE-----


reply via email to

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