Como encontrar o endereço IP da estação de trabalho Linux local

1

Estou criando um script de shell que deve fazer algumas configurações locais e ecoar o IP da máquina em um arquivo de texto. O motivo pelo qual eu preciso fazer isso é obter o IP em um script PHP e usá-lo como root para um site.

Eu posso obter o IP usando o ifconfig, mas preciso remover as informações inúteis. Eu gostaria de fazer isso no script shell não no arquivo PHP.

O SO é o CentOS 5.5, eu preciso do IP da eth0.

    
por zozo 09.07.2011 / 17:08

2 respostas

2

Bem, ip -4 -o addr show dev eth0 vai te dar uma saída razoavelmente boa de uma linha mostrando o endereço, mas será necessário algum processamento para extrair o endereço. Algo como isso deve funcionar:

ip -4 -o addr show dev eth0 | awk '{ gsub(/\/[0-9]+$/, "", $4); print $4 }'
    
por 09.07.2011 / 17:19
1

Eu, pessoalmente, vou quebrar o empate entre o script de shell e o script php para evitar ambos strongmente acoplados. Se for o endereço IP do servidor que você deseja, acione seu script separadamente e obtenha o IP dos servidores programaticamente. Você pode fazer isso conforme instruído aqui . Desta forma, você só tem dependência lógica do script de shell.

    
por 09.07.2011 / 17:28