No subject
Tue Feb 12 10:30:27 CST 2013
Sent from my iPhone
On 2013-03-23, at 10:40 PM, Trevor Cordes <trevor at tecnopolis.ca> wrote:
> Seems simple. What's the best way (in a script) to get the IP address of
> an ethernet interface (in linux). For instance eth0.
>
> I used to have (perl, but also applies as a bash solution):
>
> $eip=`/sbin/ifconfig $int | grep 'inet addr' | awk '{print \$2}' | sed -e 's/.*://'`
>
> But the latest upgrade from F16 to F17 broke this (now the line contains
> "inet" but not "inet addr".
>
> So I started thinking of finding the most standardized way that
> (hopefully) won't change after a future kernel upgrade :-)
>
> It would seem that the less field parsing done, the better, as keywords
> and field position aren't guaranteed.
>
> Looks like ifconfig is now deprecated (according to man ifconfig). So now
> I'm doing:
>
> $eip=`ip -o -4 addr list eth0 | awk '{print \$4}'`
>
> That works now, but it still has a output format-dependent requirements.
>
> I looked for /sys or /dev files, but can't find any that have ip4 addr. I
> tried to find more options to whittle ip's output to give me just the
> address, no joy there.
>
> Ideas?
>
> PS: this is important as failures like this force me to drive out onsite
> to headless boxes, some of which are 200km away.
> _______________________________________________
> Roundtable mailing list
> Roundtable at muug.mb.ca
> http://www.muug.mb.ca/mailman/listinfo/roundtable
More information about the Roundtable
mailing list