Name des WLAN-Interface per bash finden?
-
- Beiträge: 47
- Registriert: 08.05.2021 22:43:21
Name des WLAN-Interface per bash finden?
Servus zusammen,
ich möchte in einem bash-Script (welches wechselweise auf einem PC oder auf einem Raspberry PI läuft) den Namen des WLAN-Ports herausfinden.
Wie komme ich da am besten dran? Ich habe dazu im Netz nicht viel gefunden - die letzte Info war von 2006 und empfahl den Befehl "route" und dann
route -n | grep ^0.0.0.0 | awk '{print $8}' (kam hier aus dem Forum) ==> funktioniert aber nicht bei mir.
Ich sollte erwähnen, dass zum Ausführungszeitraum des Scripts der WLAN-Port keine Verbindung hat und später dann als Wireless Access Point konfiguriert wird.
Das Interface wird in "ip a" angezeigt. Beginnen bei Debian auf x86 die WLAN-Interfaces immer mit "wlx"??? Danach könnte ich ja dann die "ip a" ausgabe filtern. Beim raspberry ist das einfach: Da heisst das Interface immer (noch) wlan0 etc.
Gibt es andere Möglichkeiten, an den Interface-namen in einem Script heranzukommen?
Danke im Voraus, Trav
ich möchte in einem bash-Script (welches wechselweise auf einem PC oder auf einem Raspberry PI läuft) den Namen des WLAN-Ports herausfinden.
Wie komme ich da am besten dran? Ich habe dazu im Netz nicht viel gefunden - die letzte Info war von 2006 und empfahl den Befehl "route" und dann
route -n | grep ^0.0.0.0 | awk '{print $8}' (kam hier aus dem Forum) ==> funktioniert aber nicht bei mir.
Ich sollte erwähnen, dass zum Ausführungszeitraum des Scripts der WLAN-Port keine Verbindung hat und später dann als Wireless Access Point konfiguriert wird.
Das Interface wird in "ip a" angezeigt. Beginnen bei Debian auf x86 die WLAN-Interfaces immer mit "wlx"??? Danach könnte ich ja dann die "ip a" ausgabe filtern. Beim raspberry ist das einfach: Da heisst das Interface immer (noch) wlan0 etc.
Gibt es andere Möglichkeiten, an den Interface-namen in einem Script heranzukommen?
Danke im Voraus, Trav
- heisenberg
- Beiträge: 4123
- Registriert: 04.06.2015 01:17:27
- Lizenz eigener Beiträge: MIT Lizenz
Re: Name des WLAN-Interface per bash finden?
Ungefähr so ...
iwconfig 2>&1 | awk '/ESSID/ {print $1}'
Das sollte Dir alle WLAN-Schnittstellen anzeigen.
iwconfig 2>&1 | awk '/ESSID/ {print $1}'
Das sollte Dir alle WLAN-Schnittstellen anzeigen.
Re: Name des WLAN-Interface per bash finden?
Hier ist ein Fragment aus einem meiner Shellskripte:
Im Prinzip werden die Verzeichnisse unter /sys/class/net durchsucht und geschaut, ob da eine Datei namens phy80211 vorhanden ist. Wenn ja, ist es WLAN, wenn nicht, ist es Ethernet oder lo.
Code: Alles auswählen
IFLIST=`ls /sys/class/net`
for IFNAME in $IFLIST
do
if [ -d /sys/class/net/$IFNAME/phy80211 ]
then
WLAN=$IFNAME
else
if [ $IFNAME != "lo" ]
then
ETHER=$IFNAME
fi
fi
done
Re: Name des WLAN-Interface per bash finden?
Du könntest auch mit z. B.:Traveller42 hat geschrieben:07.10.2024 19:45:58Ich sollte erwähnen, dass zum Ausführungszeitraum des Scripts der WLAN-Port keine Verbindung hat ...
Code: Alles auswählen
systemctl status sys-subsystem-net-devices-*.device | grep Device:
Debian 12.8 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.1 mit Xfce
Re: Name des WLAN-Interface per bash finden?
Oder so:
Code: Alles auswählen
# iw dev | grep -oP "Interface \K.+"
Re: Name des WLAN-Interface per bash finden?
oder ganz schnöde:
Code: Alles auswählen
inxi -Nnixxx
-
- Beiträge: 47
- Registriert: 08.05.2021 22:43:21
Re: Name des WLAN-Interface per bash finden?
Funktioniert bei mir leider nicht. Danke trotzdemheisenberg hat geschrieben:07.10.2024 20:59:39Ungefähr so ...
iwconfig 2>&1 | awk '/ESSID/ {print $1}'
Das sollte Dir alle WLAN-Schnittstellen anzeigen.
-
- Beiträge: 47
- Registriert: 08.05.2021 22:43:21
Re: Name des WLAN-Interface per bash finden?
Funktioniert bei mir leider nicht. Danke dennoch.MSfree hat geschrieben:07.10.2024 22:00:56Hier ist ein Fragment aus einem meiner Shellskripte:Im Prinzip werden die Verzeichnisse unter /sys/class/net durchsucht und geschaut, ob da eine Datei namens phy80211 vorhanden ist. Wenn ja, ist es WLAN, wenn nicht, ist es Ethernet oder lo.Code: Alles auswählen
IFLIST=`ls /sys/class/net` for IFNAME in $IFLIST do if [ -d /sys/class/net/$IFNAME/phy80211 ] then WLAN=$IFNAME else if [ $IFNAME != "lo" ] then ETHER=$IFNAME fi fi done
-
- Beiträge: 47
- Registriert: 08.05.2021 22:43:21
Re: Name des WLAN-Interface per bash finden?
Funktioniert! DANKEmat6937 hat geschrieben:07.10.2024 22:19:21Du könntest auch mit z. B.:Traveller42 hat geschrieben:07.10.2024 19:45:58Ich sollte erwähnen, dass zum Ausführungszeitraum des Scripts der WLAN-Port keine Verbindung hat ...anzeigen und filtern.Code: Alles auswählen
systemctl status sys-subsystem-net-devices-*.device | grep Device:
-
- Beiträge: 47
- Registriert: 08.05.2021 22:43:21
Re: Name des WLAN-Interface per bash finden?
iw ist in der Grundausstattung meiner Debian 12.7 nicht vorhanden. Danke dennoch.tobo hat geschrieben:07.10.2024 22:58:23Oder so:Code: Alles auswählen
# iw dev | grep -oP "Interface \K.+"
-
- Beiträge: 47
- Registriert: 08.05.2021 22:43:21
Re: Name des WLAN-Interface per bash finden?
inxi ist in der Grundausstattung meiner Debian 12.7 nicht vorhanden. Danke dennoch
-
- Beiträge: 47
- Registriert: 08.05.2021 22:43:21
Re: Name des WLAN-Interface per bash finden?
Ich danke allen Antwortenden für ihre Hilfe.
Ich werde die Lösung mit dem systemctl nehmen, da ich das in den Bordmitteln habe und nichts zusätzlich installieren muss. Ist in meinem Projekt wichtig.
Ich werde die Lösung mit dem systemctl nehmen, da ich das in den Bordmitteln habe und nichts zusätzlich installieren muss. Ist in meinem Projekt wichtig.