Ich möchte die aktuell verbundene WLAN-Netzwerk-SSID in einem Bash-Skript erhalten. Ich versuche, ein Sicherungsskript zu schreiben, in dem das Skript eine Sicherung auf einem NAS-Server durchführt, wenn es mit meinem Heim-WLAN-Netzwerk verbunden ist. Ich habe mir den ip route
Befehl angesehen, aber er gibt nur einige grundlegende Informationen zurück -
8
nmcli -t -f active,ssid dev wifi | grep '^yes' | cut -d: -f2
.oder
quelle
sudo iwgetid -r
funktioniert bei mir. (Himbeer-Pi)Dieser Befehl gibt die SSID des angeschlossenen WLAN-Adapters zurück (vorausgesetzt, Sie haben nur einen).
Es druckt auch eine Warnung auf dem Terminal, aber auf stderr, so dass es keine Rolle spielt
quelle
Wie wäre es
iwconfig wlan0 | sed -e '/ESSID/!d' -e 's/.*ESSID:"/"/'
?quelle
-t
Macht die Ausgabe "knapp", so dass keine Überschriften vorhanden sind-f NAME
Zeigt nur die ssid an--active
Zeigt nur die aktiven Verbindungen anquelle
Ich habe es versucht:
quelle
Mit NetworkManager-1.8.4 wurde das richtige Ergebnis erzielt
Es gibt einen Grund für jeden Teil des Befehls
LANG=C
liegt daran, dass wir grep für lokalisierte Zeichenfolgen verwenden, also erzwingen Sie Englischnmcli ... -f active,ssid ...
bewirkt, dass ssid mit aktivem Status im Formular gedruckt wirdyes:myssid
no:otherssid
grep ^yes
Wir möchten aktive Verbindungen filtern, aber keine SSIDs mit dem Text "Ja", daher ist dies der Grund dafür^
cut ... -f2-
druckt den Rest der Zeile nach dem ersten Trennzeichen, damit wir eine SSID mit Trennzeichen darin haben könnenquelle