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

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

RE: Testando um PING


From: MrBiTS
Subject: RE: Testando um PING
Date: Fri, 07 Mar 2008 10:30:02 -0300
User-agent: Thunderbird 2.0.0.12 (Windows/20080213)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

<QUOTE>
Olá galera, estou aprendendo shell script e estou tentando fazer um script
para o seguinte:

1 - Dar o comando etherwake aa:bb:cc:dd:ee:ff (endereço MAC da placa de
rede)
2 - Depois dentro de um LOOP fazer testes se essa máquina ligou , dando ping
na máquina que eu tentei ligar.

Quero deixar claro que eu vou executar esse script de um servidor e a partir
desse servidor ele ira ligar as outras máquinas pela rede.

Ao meu ver, ficaria uma coisa desse tipo:

#!/bin/bash

etherwake aa:bb:cc:dd:ee:ff

while[ligou = falso]
do
ping 192.168.000.000

if[pingou]
then
echo ¨PC LIGADO¨;
ligou = verdadeiro;
#se é verdadeiro ele sai do LOOP
else
echo ¨PC DESLIGADO¨;
ligou = falso;
etherwake aa:bb:cc:dd:ee:ff
#se deu pau ele da outro etherwake e depois testa de novo
fi

done
</QUOTE>

Olá.

Você está quase lá. Faltam conceitos, somente. Vamos construir assim:

#!/bin/bash

LIGOU=0 #Declaramos a variável LIGOU com valor 0

etherwake aa:bb:cc:dd:ee:ff > /dev/null 2>&1 # Para não sujar a tela

while [ $LIGOU -eq 0 ]; do
        # Podemos testar o comando diretamente no if.
        # Colocamos uma contagem de somente 3 pings, já que
        # o ping dessas versões atuais do iputils continua
        # pingando indefinidamente
        if ping -c 3 192.168.000.000 > /dev/null 2>&1 ; then
                echo "PC Ligado"
                LIGOU=1
        else
                echo "PC Desligado"
                etherwake aa:bb:cc:dd:ee:ff
        fi
done

Nao temos necessidade de fazer LIGOU=0 no else do if já que ele não é
modificado durante o processo.

[]´s




-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFH0UNarDdxWm3R8YYRAvloAJ9O0pzVowHDKkr4BIFLewsnhJk79gCfa4VN
K2dSmSuCTgN2lxmZSBbFh1E=
=cvLe
-----END PGP SIGNATURE-----



reply via email to

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