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.991 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.

Somar variáveis nos shells BASH e sh

Trabalhando com parâmetros em Shell Script

Endereço IP como variável

Exportar variáveis de um script no mesmo sub-shell

Operações matemáticas diretamente pelo bash

#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.