zjisteni IP adresy v shell-scriptu

Tom Hudec Tom na ABBA.cz
Čtvrtek Duben 4 02:41:47 CEST 2002


Marian Cavojsky wrote:
> On Wed, Apr 03, 2002 at 04:24:11PM +0200, Pavel Just wrote:
> 
>>On Wed, 3 Apr 2002, Miroslav Petricek wrote:
>>
>>
>>>No, ja bych takovy optimista nebyl. Jen namatkou -
>>>
>>>Linux: (ifconfig lo)
>>>
>>>lo        Link encap:Local Loopback
>>>          inet addr:127.0.0.1  Mask:255.0.0.0
>>>          UP LOOPBACK RUNNING  MTU:3924  Metric:1
>>>          RX packets:52850985 errors:0 dropped:0 overruns:0 frame:0
>>>          TX packets:52850985 errors:0 dropped:0 overruns:0 carrier:0
>>>          collisions:0 txqueuelen:0
>>>
>>>SCO Unix 5.0.4: (ifconfig lo0)
>>>
>>>lo0: flags=4049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 8232
>>>        inet 127.0.0.1 netmask ff000000
>>>        perf. params: recv size: 57344; send size: 57344; full-size frames: 1
>>>
>>>SunOS 5.8: (ifconfig lo0)
>>>
>>>lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
>>>        inet 127.0.0.1 netmask ff000000
>>>
>>>A na Irixu 5.3 jsem ifconfig nenasel vubec.
>>>
>>
>>Malé doplnění pro Irix:
>># /usr/etc/ifconfig ec0
>>ec0: flags=c63<UP,BROADCAST,NOTRAILERS,RUNNING,FILTMULTI,MULTICAST>
>>        inet 192.168.1.102 netmask 0xffffff00 broadcast 192.168.1.255
>>#
>>
> 
> Po preskumani jednotlivych vypisov som zistil, ze by mohlo univerzalne
> fungovat takto:
> 
> /sbin/ifconfig eth0 | perl -e 'while(<>){ print $1,"\n" if( /inet/ and /(\d+\.\d+\.\d+\.\d+)/);}'
> 
> Pre tych co nemaju radi perl si to mozu prepisat do niecoho ineho.
> Ide o pricip:
> vypis prveho cisla v tvare c.c.c.c na riadku, kde je slovo inet.

Pokud nekde neni perl, urcite tam bude sed:
ifconfig $dev | sed -n '/inet /s/[^0-9.]*\([0-9.]*\).*/\1/p'
Funkcni na Linux/SunOS/FreeBSD/IRIX/SCO/...
Jen dosadit spravne $dev.
Pokud na nektere platforme (FreeBSD) budou aliasy vypsany tez
a chceme pouze 1. adresu, pak:
ifconfig $dev | sed -n '/inet /{s/[^0-9.]*\([0-9.]*\).*/\1/p;q;}'


-- 
Tom Hudec <Tom(at)ABBA.cz>, editor of Tom's ABBA pages http://ABBA.cz/

   .''`.  The box said Windows, NT or better, so I installed Linux. :-)
  : :' :
  `. `'   Debian GNU/Linux  http://www.debian.org/  http://www.debian.cz/
    `-    The Perfect OS - the most software, the most people



Další informace o konferenci Linux