Я попытался $iwconfig | grep wlan0
, но все, что я получил, было строкой, что мое подключенное имя ESSID существует. Но мне нужно только имя.
Как я могу получить только имя?
После игры с кучей различных команд, флагов, greps, триммеров, awks и seds, я наконец остановился на:
iwgetid -r
Просто и чисто. Это выведет SSID и ничего более. Ранее я использовал этот clunker:
iwconfig <iface> | grep ESSID | awk -F: '{print $2}' | sed 's/\"//g'
Одна из моих любимых вещей в мире * nix - это возможность связывать воедино кучу команд и программ, которые используют стандартный ввод и вывод для достижения чего бы то ни было. что мне нужно Однако, когда один и тот же флаг может быть передан такой программе, как iwgetid , чтобы выполнить то же самое, решение о том, что использовать, больше не является решением. Это тест IQ.
Имейте в виду, что вы все равно можете указать различные беспроводные сетевые интерфейсы, используя iwgetid , например:
iwgetid <iface> -r
Я не знаю, является ли это лучшим решением, но попробуйте это:
Для имени essid:
iwconfig wlan0 2> /dev/null | awk -F\" '{print $2}'
Для режима точки доступа (согласно запросу в комментарии ):
iwconfig wlan0 2> /dev/null | awk -F: '/Mode:/ {print $2}' | awk '{print $1}'
Для качества связи (как запрошено в комментарии):
iwconfig wlan0 2> /dev/null | awk -F= '/Quality/ {print $2}' | awk '{print $1}'
Для канала (как запрошено в комментарии) попробуйте это:
[ 113]Обязательно замените ESSID на ваш essid:
Для адреса (как указано в комментарии) попробуйте это:
ifconfig wlan0 2> /dev/null | awk -F: '/inet\ addr/ {print $2}' | awk '{print $1}'