Skript soll IP-Adresse von eth0 auslesen
Hallo, ein Skript soll die IP-Adresse von eth0 auslesen oder bestimmen, ist es up oder down. Mit (ifconfig | grep -q eth0) && echo "is up" || echo "is down" gehts aber das ist doch ge'hackt, oder? Gibts nicht einen Befehl, der gezielt die Eigenschaften eines eth0 / eth1 auslesen kann? Gruss Ekkard -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Son, 31 Jan 2010, Ekkard Gerlach schrieb:
ein Skript soll die IP-Adresse von eth0 auslesen oder bestimmen, ist es up oder down. Mit
(ifconfig | grep -q eth0) && echo "is up" || echo "is down"
gehts aber das ist doch ge'hackt, oder?
Nur die -Aüberflüssige Subshell und die Verwendung von ifconfig ;)-b
Gibts nicht einen Befehl, der gezielt die Eigenschaften eines eth0 / eth1 auslesen kann?
ip addr show DEVICE ip addr show label DEVICE ist wohl dazu gedacht, aber das mu-Aßt du auch noch parsen wenn du die-b IP willst. Allerdings geht das recht gut und auch als user. a) LANG=C ip addr show label eth0 | awk '/inet /{print $2;}' oder LANG=C ip addr show label eth0 | \ awk '/inet /{sub("/.*","", $2);print $2;}' b) LANG=C ip addr show label eth0 | while read tag addr rest; do test "x$tag" = "xinet" && echo "${addr// *}"; done oder LANG=C ip addr show label eth0 | while read tag addr rest; do test "x$tag" = "xinet" && echo "${addr//\/*}"; done c) LANG="C" /sbin/ifconfig "eth0" | \ sed -n '/inet addr:/s/.*addr:\([0-9\.]*\).*/\1/p'; Ob die Schnittstelle up ist kannst du z.B. wohl so testen: ip link show eth0 | grep -q 'UP' HTH, -dnh -- Coffee not found: user halted -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
* David Haller schrieb: [...] ja besten Dank, jede Menge Lösungen. Aber auch alle wieder mit einem Parser, ob grep oder awk.
Ob die Schnittstelle up ist kannst du z.B. wohl so testen:
ip link show eth0 | grep -q 'UP'
weder bei Suse 11.1 noch einem lenny gibt es "UP" im Aufruf von
ip link show eth0. Ich finde auch sonst nix:
rex4:~ # ip link show eth0
2: eth0:
Am Sonntag, 31. Januar 2010 21:32:37 schrieb Ekkard Gerlach: Hallo Ekkard,
* David Haller schrieb:
[...] ja besten Dank, jede Menge Lösungen. Aber auch alle wieder mit einem Parser, ob grep oder awk.
Ob die Schnittstelle up ist kannst du z.B. wohl so testen:
ip link show eth0 | grep -q 'UP'
weder bei Suse 11.1 noch einem lenny gibt es "UP" im Aufruf von ip link show eth0. Ich finde auch sonst nix:
rex4:~ # ip link show eth0 2: eth0:
mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000 link/ether 00:1a:92:45:dc:48 brd ff:ff:ff:ff:ff:ff eth0 ist in diesem Bsp up.
Ich verwende hierfuer folgenden Einzeiler (Zeilenumbruch aus): myip=`LANG=C /sbin/ifconfig <device> | sed -n '/addr:/s/ [^r]*..//gp'`; echo "$myip" Wenn myip leer bleibt, dann ist das Device down, sonst kommt hier die lokale IP. Schreibe doch bitte mal, was Du genau vor hast. MfG Th. Moritz -- Du bist allein? Du bist crazy? Du willst Party? Dann schick eine SMS mit "Feuer" and die 112! Und schon steht ein Partymobil mit Schaumkanone, Lichtanlage und 20 Partyboys vor deiner Tür! ( weiss nicht woher ) -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Son, 31 Jan 2010, Ekkard Gerlach schrieb:
* David Haller schrieb: [...] ja besten Dank, jede Menge Lösungen. Aber auch alle wieder mit einem Parser, ob grep oder awk.
Doch, da war eine 'rein bash' Lösung dabei (die mit 'while read'), einziges externe Programm ist 'ip'.
Ob die Schnittstelle up ist kannst du z.B. wohl so testen:
ip link show eth0 | grep -q 'UP'
weder bei Suse 11.1 noch einem lenny gibt es "UP" im Aufruf von ip link show eth0. Ich finde auch sonst nix:
rex4:~ # ip link show eth0 2: eth0:
mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000 ^^ ^^ Guck nochmal ... ;) Hab's grad mal mit 'lo' getestet, beide 'UP' verschwinden, und hinter state kommt 'DOWN', wenn ich 'ip link set lo down' aufrufe.
HTH, -dnh -- "The wonderful thing about standards is that there are so many of them to choose from." -- Grace Murray Hopper -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Sonntag, 31. Januar 2010 schrieb David Haller:
(...). Ob die Schnittstelle up ist kannst du z.B. wohl so testen:
ip link show eth0 | grep -q 'UP'
"ip link show dev eth0 up" sollte nur etwas anzeigen, wenn eth0 auch up ist. Wobei die Frage bleibt, ob das wirklich das vom OP gewünschte ist, weil es bedeutet IMHO nicht, daß auch ein Kabel angeschlossen ist oder eine Verbindung besteht! Gruß Jan -- The probability of failure is directly proportional to the anxiety of the programmer. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (4)
-
David Haller
-
Ekkard Gerlach
-
Jan Ritzerfeld
-
Thomas Moritz