Um das SIGNAL des APs zu erhalten, mit dem Sie verbunden sind, verwenden Sie:
nmcli dev wifi list | awk '/\*/{if (NR!=1) {print $7}}'
Der zweite *
Markierung in nmcli dev wifi list
ist eingestellt, um die SSID zu identifizieren, mit der Sie verbunden sind.
nmcli --version
nmcli tool, version 1.6.2
Wenn Sie den Namen des Netzwerks kennen, mit dem Sie verbunden sind, können Sie Ihren Ansatz wie folgt ändern:(für nmcli 1.14.6 können andere Versionen abweichen)
nmcli -t -f SSID,SIGNAL dev wifi list | grep "^<network name>:" | cut -d : -f 2
Der Trick dabei ist, den -f
zu verwenden Parameter von nmcli
um anzugeben, welche Felder Sie in Ihrem Skript haben möchten. Wenn Ihnen die SSID wichtig ist, verwenden Sie den SSID
aufstellen; Wenn es Ihnen wichtig ist, mit welchem Sie verbunden sind, verwenden Sie den IN-USE
Feld:
$ nmcli -f IN-USE,SIGNAL device wifi
* SIGNAL
90
* 73
40
$ nmcli -f IN-USE,SIGNAL,SSID device wifi
* SIGNAL SSID
90 wifiWithoutSpaces
* 73 Some Wifi With Spaces
40 Wifi With a * in its SSID
Der Vorteil der Anordnung der Felder auf diese Weise besteht darin, dass die Auswahl des Signals eine feste Anzahl von spaltenbegrenzenden Zeichen vom Anfang der Zeile ist; Wir können jetzt die Antwort von GAD3R verwenden, ohne auf Probleme mit der Spaltenanzahl oder der nmcli-Versionierung zu stoßen:
$ nmcli -f IN-USE,SIGNAL,SSID device wifi | awk '/^\*/{if (NR!=1) {print $2}}'
73