zjisteni IP adresy v shell-scriptu
Michal Ludvig
michal-linux na logix.cz
Středa Duben 3 09:17:29 CEST 2002
Michal Polák wrote:
> Nicmene dekuji a v prvni iteraci reseni meho problemu dam na vase rady a
> rozparseruju obsah vystupu prikazu ifconfig.
Vase argumenty vesmes uznavam, ale zmeny formatu vystupu ifconfigu bych
se zas tak moc nebal. Jen si dejte pozor na nastaveni spravnych locales,
aby vam to nevypsalo neco ve smyslu:
lo Zapouzdření:Místní smyčka
inet adr:127.0.0.1 Maska:255.0.0.0
AKTIVOVÁNO SMYČKA BĚŽÍ MTU:16436 Metrika:1
Nebo lepe parsujte vystup prikazu 'ip' - ten ma o neco "strojove
prehlednejsi" vystup:
# ip -f inet addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
inet 10.20.1.16/20 brd 10.20.15.255 scope global eth0
inet 10.20.5.69/20 brd 10.20.15.255 scope global secondary eth0
Kdyz na tenhle vystup postvete neco jako
awk '$1 ~ /inet/{gsub("/.*$", "", $2); print($2); exit;}'
tak dostanete tu prvni IP adresu.
Ale samozrejme nejstalejsi a na verzich cehokoliv nezavisle je napsat si
vlastni programek (odhadem na min jak 20 radku), ktery vam tu adresu
vypise. A kdyz ho navic slinkujete staticky s dietlibc, tak na nej
muzete uplne zapomenout a proste ho pouzivat peknych par let beze zmen.
Michal Ludvig
Další informace o konferenci Linux