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

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

Re: [shell-script] Script Rede


From: Laercio Motta
Subject: Re: [shell-script] Script Rede
Date: Fri, 22 Jan 2010 08:18:09 -0200

Bom dia...

Só para vc ter uma idéia.. A variável $? te mostra isso.. Se você tem erro
ou nao no comando anterior:

---------------------------- INICIO ----------------------------
Servidor:/# ifconfig eth0
eth0       Encapsulamento do Link: Ethernet  Endereço de HW
00:E0:18:99:88:77
          BROADCASTMULTICAST  MTU:1500  Métrica:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          IRQ:193 Endereço de E/S:0xa000

Servidor:/# echo $?
0
Servidor:/# ifconfig eth90
eth90: erro obtendo informações da interface: %s: dispositivo não
encontrado

Servidor:/# echo $?
1
Servidor:/#

---------------------------- FIM ----------------------------

No caso quando a variavel for 0 é pq o comando foi executado com sucesso...
Dae poderia ser testado assim:

ifconfig eth0 > /dev/null
if [ $? -ne 0 ]; then
     echo Interface eth0 nao existe...
else
     echo Interface eth0 esta presente....
fi

No gateway nem olhei.. Pq no meu caso nao uso heheh

Quanto a quantidade e parametros vc pode pegar pela variavel $#
Dae é so fazer o if verificando quantos parametros ou coisa parecida

Maneiras mais simples de pegar os ips..

Endereço IP:
ifconfig eth1 | awk '/inet / {print $3}'

Mascara de Rede:
ifconfig eth1 | awk '/inet / {print $5}' | cut -d: -f2

Att
   Laercio Motta


2010/1/21 Cléoson Barreto <address@hidden>

>
>
> Olá!
>
> No lugar do "done", coloque "fi".
>
>
> --
> []'s
> Cléoson.
> http://farinhadigital.blogspot.com/
>
> 2010/1/21 Cléoson Barreto <address@hidden<cleoson.barreto%40gmail.com>
> >
>
>
> > Olá!
> >
> > Não testei, mas acho que se você colocar um if dentro do seu for dá
> > pra fazer esse teste:
> >
> > if [ -z $i ]; then echo "Interface não existe"; continue; done
> >
> >
> > --
> > []'s
> > Cléoson.
> > http://farinhadigital.blogspot.com/
> >
> >
> > 2010/1/21 wilson rodrigues da silva 
> > <address@hidden<powertecnews%40yahoo.com.br>
> >
> >
> >
> >>
> >> Prezados do grupo, estou fazendo um script que mostre o IP, a máscara e
> o
> >> gateway de uma interface de rede do PC. Essa interface deve ser
> fornecida
> >> pelo usuário via passagem de parâmetros. O script deve testar se a
> interface
> >> existe. Se não, deve mostrar uma mensagem de erro. Deve testar também se
> a
> >> quantidade de parâmetros for maior que o necessário ou se for menor que
> o
> >> necessário.
> >> A minha dúvida é: se a interface não existir como mostrar uma mensagem
> de
> >> erro e também como testar se quantidade de parâmetros for maior ou menor
> que
> >> o necessáro?
> >> Obrigado.
> >> Wilson
> >>
> >>
> >> # Uma parte do script:
> >>
> >> for i in $( ifconfig | grep eth | cut -d" " -f1 ); do
> >>
> >> # Captura o IP da máquina.
> >> IP=$( ifconfig $i | grep -w 'Bcast' | awk '{ print $3 }' )
> >>
> >> # Captura a mascara de rede.
> >> MASK=$( ifconfig $i | grep -w 'inet' | awk ' { print $5 }' | sed -e
> >> "s/Masc://g" )
> >>
> >> # Captura o gateway da rede.
> >> GW=$( route -n | grep -w 'default' | awk ' { print $2 } ' )
> >>
> >> # Imprime os dados.
> >> echo -e "
> >> ------------------------------------
> >>
> >> $V Endereço IP$B $A$IP$B
> >> $V Máscara$B $A$MASK$B
> >> $V Gateway$B $A$GW$B
> >>
> >> ------------------------------------
> >> "
> >>
> >> done
> >>
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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