Wie erhalte ich den Namen des WLAN-Netzwerks, mit dem ich verbunden bin?

Ich weiß, wie ich es in Objective C herausfinden kann , aber ich muss dies in einem Shell-Skript tun.

(Ich könnte eines der im Link angegebenen Beispielprogramme kompilieren und installieren, aber sicherlich ist bereits ein Befehlszeilenprogramm installiert, das mir diese Informationen liefert?)

Ich habe MacOS X Yosemite, 10.10.2.

Antworten (2)

/Sy*/L*/Priv*/Apple8*/V*/C*/R*/airport -I | awk '/ SSID:/ {print $2}'

Dies verwendet die Flughafen-CLI, wobei das -IFlag Informationen anzeigt und mithilfe von awk filtert, da nur die SSID den Namen des Netzwerks anzeigt.

Wenn die SSID Leerzeichen enthält, benötigen Sie /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | awk -F: '($1 ~ "^ *SSID$"){print $2}' | cut -c 2-stattdessen etwas wie.
sed-basierter Ansatz zur Rückgabe von SSIDs mit Leerzeichen:/Sy*/L*/Priv*/Apple8*/V*/C*/R*/airport -I | sed -n "s/^.*SSID: \(.*\)$/\1/p"

Tolle Antwort hier von grg, aber ich wollte diese Option nur hinzufügen, falls es für jemanden nützlich ist, die SSID und nur die SSID zu extrahieren:

/Sy*/L*/Priv*/Apple8*/V*/C*/R*/airport -I | grep -w SSID | awk '{print $2}'

Ich kann bestätigen, dass die grep/awk-Pipeline funktioniert. Aber zumindest für mich, auf Mojave 10.14.2, airportist es weder in meinem /usr/local/sbinnoch irgendwo anders auf meinem $PATH.
Es sieht so aus, als ob dies entweder ab Mojave entfernt wurde (es ist auch nicht in Catalina oder Big Sur vorhanden) oder etwas Spezifisches für mein System war. Ich habe dies aus meiner Antwort entfernt ...
grep SSID | grep -v BSSID | awk …sieht komisch aus, geht es nicht einfacher?
@nohillside Ja, grep -wwird funktionieren und ist sauberer. Geändert...