Pour obtenir le SIGNAL de l'AP sur lequel vous êtes connecté utilisez :
nmcli dev wifi list | awk '/\*/{if (NR!=1) {print $7}}'
Le deuxième *
marquer en nmcli dev wifi list
est configuré pour identifier le SSID sur lequel vous êtes connecté.
nmcli --version
nmcli tool, version 1.6.2
Si vous connaissez le nom du réseau auquel vous êtes connecté, vous pouvez modifier votre approche comme ceci :(pour nmcli 1.14.6, les autres versions peuvent varier)
nmcli -t -f SSID,SIGNAL dev wifi list | grep "^<network name>:" | cut -d : -f 2
L'astuce ici est d'utiliser le -f
paramètre de nmcli
pour spécifier les champs que vous voulez dans votre script. Si vous vous souciez du SSID, utilisez le SSID
champ; si vous vous souciez de celui auquel vous êtes connecté, utilisez le IN-USE
champ :
$ 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
L'avantage d'ordonner les champs de cette manière est que la sélection du signal est un nombre fixe de caractères de délimitation de colonne à partir du début de la ligne ; nous pouvons maintenant utiliser la réponse de GAD3R sans rencontrer de problèmes de nombre de colonnes ou de versions nmcli :
$ nmcli -f IN-USE,SIGNAL,SSID device wifi | awk '/^\*/{if (NR!=1) {print $2}}'
73