Linux:Pegando o endereço IP via shell
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