Linux:Pegando o endereço IP via shell: Difference between revisions

From Wiki
(New page: == 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 ...)
 
 
(2 intermediate revisions by the same user not shown)
Line 8: Line 8:


   ifconfig eth1 | awk -F: '/inet addr/{ print $2 }' | awk '{ print $1 }'
   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 ==
*[[Linux:Comando Find]]
*[[Linux:Comando Awk]]
*[[Linux:Comando Xargs]]
*[[Linux:Pegando o diretório onde o script está sendo executado via shell]]
*[[Linux|  Mais Artigos sobre Linux / UNIX / AIX]]
[[Category:Linux]]
[[Category:Comandos no Linux]]
[[Category:Linux Shell]]
[[Category:awk]]

Latest revision as of 11:36, 13 September 2016

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