Mailinglist Archive: opensuse-programming-de (33 mails)

< Previous Next >
Re: [opensuse-programming-de] lokale IP auslesen
  • From: David Haller <dnh@xxxxxxxxxxxx>
  • Date: Tue, 22 Jun 2010 02:19:47 +0200
  • Message-id: <20100622001947.GA7196@xxxxxxxxxxxxxxxxxx>
Hallo,

Am Die, 22 Jun 2010, Sebastian Siebert schrieb:
aufwendiges Stringgewusel? Die Ausgabe von 'ip addr show' ist
jedenfalls nicht einfacher zu parsen.

*husthust*

# ip addr show eth0 | sed -n '/inet/s/.*inet\s\([0-9\.]*\).*/\1/p';

;-)

Definitiv schon mal "nicht einfacher". Und, aber und überhaupt, v.a.:

(mein GNU sed kann kein '\s', "nur" [[:space:]]):

# ip addr show eth0 | sed -n '/inet/s/.*inet[[:space:]]\+\([0-9\.]*\).*/\1/p'
10.0.0.1
192.168.178.11

Ja, und welche IP gehört jetzt zu eth0 und welche zu eth0:1? Oder zu
was?

# ip addr show eth0:1 | sed -n '/inet/s/.*inet[[:space:]]\+\([0-9\.]*\).*/\1/p'
Device "eth0:1" does not exist.

Das ist schlicht flasch! Denn:

# ip addr show eth0 | grep 'inet\|eth0'
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1492 qdisc pfifo_fast qlen 1000
inet 10.0.0.1/24 brd 10.0.0.255 scope global eth0
inet 192.168.178.11/24 brd 192.168.178.255 scope global eth0:1
^^^^^^!!!!

'ip' selber sagt was anderes ... ifconfig ist da konsistenter:

# ifconfig eth0 | grep addr:
inet addr:10.0.0.1 Bcast:10.0.0.255 Mask:255.255.255.0
# ifconfig eth0:1 | grep addr:
inet addr:192.168.178.11 Bcast:192.168.178.255 Mask:255.255.255.0

Mit ifconfig hast du das Problem nicht. Ergo: Die ifconfig Ausgabe ist
einfacher zu parsen. Q.E.D.

Denn bei 'ip' mußt du noch das Interface aus der Zeile rauspfriemeln,
mit dem Anfrage-String vergleichen und ....

Ja, obiges ist auf meiner alten Kiste, aber auf der neuen mit
oS11.2/x86_64 ist's genau gleich konfiguriert, gleiche Ausgabe (andere
IPs) bei ifconfig/ip mit dem gleichen Problem bei 'ip addr show'.

Achso, ich hab jetzt heute Nacht nicht nachgeschaut, ob das mit den
Alias-Interfaces bei 'ip' inzwischen besser ist. AFAIR nicht. Oder vor
"kurzem" noch nicht.

-dnh

--
Für wann plant er denn seine Beerdigung? Ich hatte meine Beerdigung
eigentlich für letzten Sonntag geplant, aber Petrus hatte wohl den
Schlüssel verlegt. Irgendwann wachte ich mit einem furchtbaren Kater
auf (nachmittags, freitags, auf der Arbeit). -- Oliver Schad
--
To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-programming-de+help@xxxxxxxxxxxx

< Previous Next >