Script - Abfrage ob eth0 aktiv ist

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
sukram
Beiträge: 566
Registriert: 22.08.2010 10:40:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 64560 Riedstadt

Script - Abfrage ob eth0 aktiv ist

Beitrag von sukram » 28.10.2011 23:42:45

Ich würde gerne in einem shell script welche der beiden Verbindungen (eth0 und wlan0) gerade aktiv sind. ifconfig gibt ja keinen Rückgabewert zurück.
Beispiel:
if [eth0 = true]; then ....
Ciao, Markus

Es hat alles seinen Grund...

Benutzeravatar
Six
Beiträge: 8067
Registriert: 21.12.2001 13:39:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Siegburg

Re: Script - Abfrage ob eth0 aktiv ist

Beitrag von Six » 29.10.2011 10:15:18

Wenn dir Link Layer reicht, dann findest du alles, was du brauchst in /sys/class/net/<dev>/carrier. 0 = no link, 1 = link. Dort findet man sowieso ein Menge nützlicher Informationen bzgl. Netzwerkgeräte. Ein simples Interface bietet dir der Befehl ip, z. B.

Code: Alles auswählen

ip link show
Be seeing you!

sukram
Beiträge: 566
Registriert: 22.08.2010 10:40:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 64560 Riedstadt

Re: Script - Abfrage ob eth0 aktiv ist

Beitrag von sukram » 29.10.2011 10:31:49

Mit Deinem Hinweis kann ich sehr viel anfangen :THX:
Genau das was ich gesucht habe um eine zuverlässige Aussage zu erhalten.
Ciao, Markus

Es hat alles seinen Grund...

Benutzeravatar
TRex
Moderator
Beiträge: 8333
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: Script - Abfrage ob eth0 aktiv ist

Beitrag von TRex » 29.10.2011 14:59:33

Six hat geschrieben:Wenn dir Link Layer reicht, dann findest du alles, was du brauchst in /sys/class/net/<dev>/carrier. 0 = no link, 1 = link. Dort findet man sowieso ein Menge nützlicher Informationen bzgl. Netzwerkgeräte.
Mist, ich hab vergeblich in /proc gesucht.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

Benutzeravatar
BonbonAusWurst
Beiträge: 11
Registriert: 08.05.2011 21:17:53

Re: Script - Abfrage ob eth0 aktiv ist

Beitrag von BonbonAusWurst » 02.11.2011 19:17:07

Ja gut, das hätten wahrscheinlich viele (ich natürlich auch ;-))
Gibts dafür einen allgemeinen Grund, warum das unter /sys.. liegt?
Wär ich niemals drauf gekommen und wär vielleicht gut zu wissen warum das so praktiziert wird.

mfg

Benutzeravatar
Six
Beiträge: 8067
Registriert: 21.12.2001 13:39:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Siegburg

Re: Script - Abfrage ob eth0 aktiv ist

Beitrag von Six » 03.11.2011 12:40:49

BonbonAusWurst hat geschrieben:Ja gut, das hätten wahrscheinlich viele (ich natürlich auch ;-))
Gibts dafür einen allgemeinen Grund, warum das unter /sys.. liegt?
Wär ich niemals drauf gekommen und wär vielleicht gut zu wissen warum das so praktiziert wird.

mfg
Ursprünglich, so um 2005 herum, wurde festgestellt, dass ja überraschenderweise nicht nur Prozeßinformationen in /proc hinterlegt wurden, sondern auch Systemstatusinformationen. Das wurde generell als "ihh pfui" empfunden. Von 2.4. nach 2.6 sollte das dann umgebaut werden: alle Systemstatusinformationen ziehen nach /sys, nur echte Prozeßinformationen (PID, Memoryaddress etc.) bleiben in /proc. Nachdem man sich dann erstmal ausgiebig über die Implementierung, Re-Implementierung und Re-Re-Implementierung von /sys gestritten hatte, hatte wie üblich Linus das letzte Wort und es wurde als ramfs aka sysfs re-re-re-implementiert. Nun konnte der Umzug schon beginnen! Dummerweise hatte noch niemand die Kisten gepackt und die meisten Umzugshelfer waren mittlerweile genervt wieder abgezogen. Deswegen sind nur sehr wenige Kisten in der neuen Wohnung, der Rest ist entweder unterwegs, in der Pause im McD oder wird noch gepackt.

Man kann also mit Gewißheit sagen: wenn es in /sys liegt, ist es Systemstatus. Wenn es in /proc liegt, kann es Prozeß- oder Systemstatus sein. Das ist natürlich unglücklich, denn normalerweise läuft die Frage ja umgekehrt: ich will Systemstatus X wissen, wo gucke ich? Die Antwort lautet: zuerst in sysfs. Ist es dort nicht, dann in procfs. Für Prozeßinformationen bleibt alles wie gehabt. That's the Linux-way!

Und ja, mich pisst das total an.
Be seeing you!

Benutzeravatar
TRex
Moderator
Beiträge: 8333
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: Script - Abfrage ob eth0 aktiv ist

Beitrag von TRex » 03.11.2011 12:50:51

OK, dann lass uns das mal schnell ins Archiv verschieben, bevor das noch einer im nächsten "Linux is scheiße" Thread als belastendes Material verwendet :lol: :lol:
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

Antworten