SSID und Netzwerkumgebung

Update: 28. Februar 2017

Mit diesem Skript lasse ich mir die SSID der WLAN Basisstation und die derzeit aktivierte Netzwerkumgebung anzeigen. Je nach Einsatzort meines Macbooks muss ich die Netzwerkumgebung ändern. Umso ärgerlicher ist es, wenn man dann wieder zu Hause ist und der Rechner verweigert die Internetverbindung, weil zum Beispiel der eingetragene DNS Server in meinem Heimnetz nicht vorhanden ist. Deshalb habe ich hier auch noch ein kleines Bonbon eingebaut. Alle Netzwerkumgebungen die nicht die Umgebung "Automatisch" sind, werden in rot angezeigt. Die Farbe wird über einen ANSI Escape Code eingestellt. Doch zunächst das gesamte Listing:

01: netz=$(networksetup -getairportnetwork en1 | cut -f2 -d: | sed 's/^[ \t]*//')
02:
03: checkairport=$(echo $netz | awk '{print $3 $4}')
04: if [ "$checkairport" = "notassociated" ]
05: then
06: netz="N/A"
07: fi
08: 
09: umgebung=$(networksetup -getcurrentlocation | sed 's/Automatic/Automatisch/')
10:
11: red="\x1b[31m"
12: reset="\x1b[39m"
13: farbe=$reset
14:
15: if [ "$umgebung" != "Automatisch" ]
16: then
17: farbe=$red
18: fi
19:
20: echo "SSID:\t\t\t $netz"
21: echo "Umgebung:\t\t $farbe$umgebung$reset"

Zeile 1:
Die SSID des aktuell verbundenen Netzwerkes wird abgefragt. Da die Ausgabe zunächst das Format "Current Wi-Fi Network: [SSID]" hat, wird mit dem cut Befehl alles vor dem Doppelpunkt abgeschnitten und mit sed das Leerzeichen vor der Bezeichnung der SSID entfernt.

Zeile 3:
Wenn der Rechner nicht mit einer WLAN Basisstation verbunden ist, wird die Variable "netz" in  Zeile 1 mit dem Text "You are not associated with an AirPort network. Wi-Fi power is currently off." belegt.

Die Hilfsvariable "checkairport" erhält die Worte 3 und 4 der abgerufenen SSID. Sollte der Rechner keine WLAN Verbindung haben, wären das "not" und "associated".

Zeilen 4 bis 7:
Wenn "checkairport" den Bergiff "notassociated" enthält, wird die Variable "netz" mit "N/A" belegt.

Zeile 9:
Der Name der aktuellen Netzwerkumgebung wird ausgelesen und dabei das englische "Automatic" ins Deutsche übersetzt. Da ich alle weiteren Netzwerkumgebungen angelegt habe, tragen diese bereits deutsche Bezeichnungen. Nur die Apple Standardumgebung führt unterhalb der grafischen Oberfläche die englische Bezeichnung.

Zeile 11:
Der Variablen "red" wird der ANSI Escape Code für die rote Schriftfarbe übergeben.

Zeile 12:
Die Variable "reset" wird mit dem ANSI Escape Code für die Standard Schriftfarbe belegt. Dies ist die Farbe, die bei Geektool im Konfigurationsfenster festgelegt wurde.

Zeile 13:
Als Textfarbe wird zunächst die Standardfarbe festgelegt.

Zeile 15 bis 18:
Wenn der Name der Netzwerkumgebung nicht "Automatisch" lautet, wird die rote Textfarbe gewählt.

Zeilen 20 und 21:
Die Ausgabe der SSID und der Netzwerkumgebung.  

Alle Skripte findet Ihr zum Download auf Github. Verbesserungen sind willkommen!