Pular para o conteúdo

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

Dica publicada em Shell Script / Variáveis
Cesar Toro KzarMaster
Hits: 10.989 Categoria: Shell Script Subcategoria: Variáveis
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

- 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
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
Nenhuma dica encontrada.

Nome de arquivo com espaço dentro de variáveis

Trabalhando com parâmetros em Shell Script

Script IP Válidos na rede interna

Atendimento ou suporte remoto em estações de trabalho via VNC

Site para montar regras de iptables

#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

Entre na sua conta para comentar.