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