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@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org