Wie bekomme ich das verbundene WLAN-Netzwerk ssid?

8

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 routeBefehl angesehen, aber er gibt nur einige grundlegende Informationen zurück - Geben Sie hier die Bildbeschreibung ein

Chan
quelle

Antworten:

4

Folgendes sollte das bieten, wonach Sie suchen, vorausgesetzt, Sie sind mit einem drahtlosen Gerät verbunden:

nmcli -t -f ssid dev wifi| cut -d\' -f2
Luis Alvarado
quelle
Es werden alle verbundenen Netzwerke zurückgegeben. Kann ich nur das verbundene Netzwerk finden?
Chan
Versuchen Sie es so und lassen Sie es mich wissen: nmcli -t -f active, ssid dev wifi | cut -d \ '-f2
Luis Alvarado
Immer noch viele Ergebnisse
Chan
Können Sie das, was Sie als Ausgabe sehen, einfügen?
Luis Alvarado
1
Das funktioniert bei mir : nmcli -t -f active,ssid dev wifi | grep '^yes' | cut -d: -f2 .
Jacob Evan Shreve
16
iwgetid -r

oder

iwgetid wlan0 -r
nmset
quelle
Funktioniert perfekt unter Ubuntu 16.0.4 !!
Atrujillofalcon
denn Python sudo iwgetid -rfunktioniert bei mir. (Himbeer-Pi)
snr - Reinstate Monica
2

Dieser Befehl gibt die SSID des angeschlossenen WLAN-Adapters zurück (vorausgesetzt, Sie haben nur einen).

iwconfig | grep ESSID | sed -e 's/.*ESSID:"\(.*\)".*/\1/'

Es druckt auch eine Warnung auf dem Terminal, aber auf stderr, so dass es keine Rolle spielt

remi@host~$id:~$ id=$(iwconfig | grep ESSID | sed -e 's/.*ESSID:"\(.*\)".*/\1/')
eth0      no wireless extensions.
lo        no wireless extensions.
virbr0    no wireless extensions.
tap0      no wireless extensions.

remi@host:~$ echo $id
CISPI
Rémi
quelle
1

Wie wäre es iwconfig wlan0 | sed -e '/ESSID/!d' -e 's/.*ESSID:"/"/'?

jdthood
quelle
0
nmcli -t -f NAME connection show --active
  • -t Macht die Ausgabe "knapp", so dass keine Überschriften vorhanden sind
  • -f NAME Zeigt nur die ssid an
  • --active Zeigt nur die aktiven Verbindungen an
John Mehorter
quelle
Dies gibt den Namen der Verbindung und nicht die SSID aus. NAME entspricht normalerweise der SSID, ist aber nicht immer wahr. Der Name der NetworkManager-Verbindung kann in einen beliebigen Wert geändert werden.
j123b567
0

Ich habe es versucht:

    iwconfig wlan0 | grep ESSID | cut -d\" -f2
John Goofy
quelle
0

Mit NetworkManager-1.8.4 wurde das richtige Ergebnis erzielt

LANG=C nmcli -t -f active,ssid dev wifi | grep ^yes | cut -d: -f2-

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 Englisch
  • nmcli ... -f active,ssid ... bewirkt, dass ssid mit aktivem Status im Formular gedruckt wird yes: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önnen
j123b567
quelle