Achar ip válido e jogar para uma variável

Publicado por Cesar Toro em 21/03/2007

[ Hits: 8.878 ]

 


Achar ip válido e jogar para uma variável



Estava atrás de um script para descobrir o ip válido de minha placa eth0 e os que achei retornaram um erro, então desenvolvi este pequeno script que pode ser executado como 1 linha de comando também:

- Guardando IP num arquivo /tmp/ipvalido

ifconfig > /tmp/ifconfig.tmp; TEMP=`cat /tmp/ifconfig.tmp | grep inet | awk '{print $3}'`; IPVALIDO=`echo $TEMP | awk '{print $1}'`; echo $IPVALIDO | tee /tmp/ifconfig.tmp; mv /tmp/ifconfig.tmp /tmp/ipvalido

- Apenas pegando o IP

ifconfig > /tmp/ifconfig.tmp; temp=`cat /tmp/ifconfig.tmp | grep inet | awk '{print $3}'`; ipvalido=`echo $temp | awk '{print $1}'`; echo $ipvalido; rm -rf /tmp/ifconfig.tmp

Nota: os 2 scripts devem ser executados em uma única linha de comando, mas pode-se desmembrar facilmente e transformar num script substituindo-se os ";" por uma quebra de linha e jogar num arquivo de texto, como no exemplo abaixo:

- Guardando IP num arquivo /tmp/ipvalido (Script)

#!/bin/bash

ifconfig > /tmp/ifconfig.tmp
TEMP=`cat /tmp/ifconfig.tmp | grep inet | awk '{print $3}'`
IPVALIDO=`echo $TEMP | awk '{print $1}'`
echo $IPVALIDO | tee /tmp/ifconfig.tmp
mv /tmp/ifconfig.tmp /tmp/ipvalido

- Apenas pegando o IP

ifconfig > /tmp/ifconfig.tmp
temp=`cat /tmp/ifconfig.tmp | grep inet | awk '{print $3}'`
ipvalido=`echo $temp | awk '{print $1}'`
echo $ipvalido
rm -rf /tmp/ifconfig.tmp
Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Trabalhando com parâmetros em Shell Script

Shell Script - Imprimindo nome da própria função em execução

Qual o maior número da variável RANDOM?

Declarando constantes em shell scripts

Script IP Válidos na rede interna

  

Comentários
[1] Comentário enviado por DondaJr em 03/09/2007 - 15:50h

Legal kra.. achei bacana!!! Parabens

[2] Comentário enviado por chmod000 em 20/09/2007 - 15:40h

Cara,
uma forma mais fácil de vc pegar seu ip válido seria assim:

/sbin/ifconfig eth0 | sed -n '2 p' | awk '{print $3}'
Desta forma você não salva ele em lugar algum. Daí entram os comandos de variáveis ou direcionamento para arquivo. Tipo:

IP_VALIDO=/sbin/ifconfig eth0 | sed -n '2 p' | awk '{print $3}'
ou
/sbin/ifconfig eth0 | sed -n '2 p' | awk '{print $3}' > ip_valido


[]'s

[3] Comentário enviado por KzarMaster em 17/10/2007 - 23:55h

Boa... às vezes existem diversas formas de se excutar uma tarefa, umas mais eficientes, outras menos, tudo depende dos recursos que temos à mão...

Só ficou faltando o crase na opção de jogar pra variável, se não dá erro:

IP_VALIDO=`/sbin/ifconfig eth0 | sed -n '2 p' | awk '{print $3}'`

VLW!!!

[4] Comentário enviado por chmod000 em 20/03/2008 - 15:14h

Oooops!

Falha minha mesmo... tens razão! Faltaram as crases. Ahhh essas crases...



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts