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

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

Re: [shell-script] mostra IP de interfaces


From: Julio C. Neves
Subject: Re: [shell-script] mostra IP de interfaces
Date: Sat, 31 Jan 2009 23:40:15 -0200

Fala Raul,
script blz e bastante útil. Valeu pela colaboração, e é por isso que o Sw
Livre é imbatível, pois todos ajudam todos. Somos "todos por um e todos por
outros". ;)

Só um conselho: o case que vc fez não permite que o usuário escolha mais de
uma opção, tipo: ./prg -oe INTERFACE, ou ./prg -oeINTERFACE, e isso é
facilmente corrigível com o uso de getopts que vc pode entender facilmente
lendo o Papo de Botequim
010<https://wiki.softwarelivre.org/TWikiBar/TWikiBarPapo010#Comando_getopts>
.

Caso esta solução te agrade, favor republicar o script na lista.
-- 
Abração,
Julio
*Cursos de Shell e Zenity nos finais de semana:
- Breve no RJ;
- Em SP ligue (11) 2125-4747;
- Em DF ligue (61) 3223-3000;
- Turmas fechadas em outras cidades ligue (21) 8112-9988*

2009/1/31 Raul Libório <address@hidden>

>   Olá amigos,
>
> Fiz um script simples, mas de grande utilidade (ao menos pra mim :D).
> Ele mostra o endereço IP das interfaces conectadas (eth0 por default e
> outras com -e INTERFACE) e também o IP externo ( opção -o ).
> Como disse, é simples, mas útil, já que a saída é apenas o endereço,
> sem todas aquelas informações de máscara, broadcast, MTU, MAC...
> Gostaria da ajuda de vocês para melhorar o código. O script (ao menos
> aqui no openSUSE 11.1) está funcional.
>
> http://pastebin.com/m6b0d8ca0
>
> # -- Inicio
>
> #!/bin/bash
> # 2.1 - Exibe o endereco de todas as interfaces
> # 2.0 - Mostra o endereco IP de saida
> # 1.0 - Mostra o endereço de eth0
> # GPL
> # Pastebin: http://pastebin.com/m6b0d8ca0
>
> # -- VARIAVEIS
>
> INT="$1"
>
> MODO_DE_USO="USO: $( basename $0) [ INTERFACE ]|[ OPCAO ]
>
> OPCOES:
> -a: Exibe o endereco IP de todas as interfaces,
> inclusive o endereco externo
> -e INTERFACE: Exibe o endereco IP da interface INTERFACE
> -o: Exibe o endereco IP de saida
> -h|--help Exibe esta ajuda
>
> IR - Interface de Rede
> Visualizador simples de endereco de rede - GPL3
>
> Raul Liborio - <address@hidden <rauhmaru%40gmail.com>> |
> raumaru.blogspot.com/
> www.redesfja.com
> "
> # -- EXECUCAO
>
> if [ -z $INT ]; then
>
> ip a | awk "/eth0/"'{print $2}' | tail -1 | cut -d/ -f1
> exit 0
>
> else
>
> IP_EXTERNO(){
> w3m -dump http://ipid.shat.net/iponly/ | sed 's/ //;' | head -1
> }
>
> case $INT in
>
> "--help"|"-h") echo "$MODO_DE_USO"
> exit 0 ;;
>
> "-v"|"--version") cat $( which $( basename $0 ) ) \
> | awk -F# "/[0-9]/"'{print $2}' | head -1
> exit 0;;
>
> "-a"|"--all") LANG=POSIX ifconfig | awk "/inet addr:/"'{ print $2 }'\
> | cut -d: -f2; IP_EXTERNO
> exit 0;;
>
> "-e") ip a show "$2" | awk /inet/'{print $2 }'| \
> head -1 | cut -d/ -f1
> exit 0;;
>
> "-o") IP_EXTERNO
> exit 0;;
>
> *) echo "$MODO_DE_USO"
> exit 1;;
>
> esac
> fi
>
> # -- Fim
>
> Desde já, valeu galera =D
>
> --
>
> |
> |
> + \
> \\.G_.*=.
> `( '/.\|
> .>' (_--.
> _=/d ,^\
> ~~ \)-' '
> / |
> ' '
> Raul Libório
> UniJorge Redes - www.redesfja.com
> rauhmarutsªhotmailºcom
> Linux user#4444581
>
> "The bug is on the table."
>
> " Se você tem uma maçã e eu tenho uma maçã e, em seguida, trocarmos as
> maçãs, eu e você ainda teremos uma maçã cada um. Mas se você tem uma
> idéia e eu tenho uma idéia e trocarmos essas idéias, então cada um de
> nós terá duas idéias. "
>
> George Bernard Shaw
>
> Dúvidas: enviar para /dev/null
>  
>


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



reply via email to

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