Linux:Pegando o endereço IP via shell

From Wiki

Pegando o ip de um interface via shell

Exemplo 1:

 ifconfig eth1 | grep "inet addr" | awk -F: '{ print $2 }' | awk '{ print $1 }'

Exemplo 2:

 ifconfig eth1 | awk -F: '/inet addr/{ print $2 }' | awk '{ print $1 }'


Exemplo de shell completo

Este verifica se o ip atual é o mesmo do ip corrente e executa a atualização de alguns serviços

#!/bin/bash
IP_ATUAL=`/sbin/ifconfig eth1 | grep "inet addr" | awk -F: '{ print $2 }' | awk '{ print $1 }'`
#IP_NOVO=`lynx -dump www.meuip.com.br | grep -v [a-zA-Z] | awk '{ printf $1 }'`
IP_NOVO=`lynx -dump -hiddenlinks=ignore -nolist http://checkip.dyndns.org:8245/ | awk '{ printf $4 }'`
if [ "$IP_ATUAL" != "$IP_NOVO" ]; then
  echo "true"
  /etc/init.d/network restart
  /etc/init.d/noip restart
  /etc/init.d/httpd restart
else
  echo "false"
fi


Ver também