Variável de ambiente para endereço IP

3

Eu vejo em algum lugar as pessoas usam:

IF_ADDRESS="$(echo "$IP4_ADDRESS_0" | cut -d'/' -f1)"

para obter o endereço IP em um script de configuração de rede. No meu sistema, eu crio um script no diretório /etc/network/if-up.d/ e teste com:

echo "$IP4_ADDRESS_0" >> /tmp/test.log

mas não obtém nada com essa variável. O que há de errado?

Meu /etc/network/interfaces é assim:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

Meu objetivo final é configurar a política de roteamento IP com um script como this .

    
por platinor 31.07.2013 / 09:40

1 resposta

2

$IP4_ADDRESS_0 é uma variável, por isso provavelmente não está definida. Você pode ver seu valor com este comando:

$ echo "$IP4_ADDRESS_0"

Se estiver em branco, você verá isso:

$ echo "$IP4_ADDRESS_0"

$

Você poderia usar este comando:

$ ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'
192.168.1.27
    
por 31.07.2013 / 10:12