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 <cleoson.barr...@gmail.com>

>
>
> Olá!
>
> No lugar do "done", coloque "fi".
>
>
> --
> []'s
> Cléoson.
> http://farinhadigital.blogspot.com/
>
> 2010/1/21 Cléoson Barreto 
> <cleoson.barr...@gmail.com<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 
> > <powertecn...@yahoo.com.br<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]



------------------------------------

---------------------------------------------------------------------
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: shell-script-unsubscr...@yahoogrupos.com.br
---------------------------------------------------------------------
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:
    shell-script-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a