in reply to Re: ip address get problem
in thread ip address get problem

Thanks for that but that code does not seem to work for me. The active ip address on my host machine is on the hme0 interface. The code you supplied got me the ip address on another interface. This is why I was trying to go through the hosts file to get my ip address. This has the primary ip address on the host. The trouble is that my code to extract from this file is not working. Would you know what is wrong with this code? I can't figure what is happening:
$hostname = `hostname`; print "hostname is $hostname\n";
This works to get the hostname. It is the following bit of code that does not work to translate that hostname into an ip address:
$source = `ypcat hosts | grep '$hostname$'`; $source =~ /\d+.\d+.\d+.\d/; print "source is $addr\n";

Replies are listed 'Best First'.
Re: ip address get problem
by Abigail-II (Bishop) on Mar 22, 2004 at 16:17 UTC
    The active ip address on my host machine is on the hme0 interface. The code you supplied got me the ip address on another interface.
    This is exactly why questions like "finding the IP address of my machine" are meaningless. It also means any solution to "finding a IP address of my machine" that use `hostname` are not very useful.

    Machines don't have IP addresses. Interfaces have IP addresses. An interface can have 0, 1 or more than one IP address, and an IP address can be shared by more than one interface, which may be on the same machine, or on different machines. Machines can have 0, 1 or more interfaces.

    Machines have hostnames, typically one. There is NO relationship between a machines hostname, and the IP addresses of their interfaces, unless the local administrator happens to set up things that way. My laptop has a hostname, and it always has the same hostname. But the IP address of its non-loopback interface depends on which network I plug the machine in.

    Abigail