Как я могу получить имя ESSID только с которым я связан?

Я попытался $iwconfig | grep wlan0, но все, что я получил, было строкой, что мое подключенное имя ESSID существует. Но мне нужно только имя.

Как я могу получить только имя?

6
задан 6 November 2012 в 18:19

2 ответа

После игры с кучей различных команд, флагов, 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
0
ответ дан 6 November 2012 в 18:19

Я не знаю, является ли это лучшим решением, но попробуйте это:

Для имени 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}'
0
ответ дан 6 November 2012 в 18:19

Другие вопросы по тегам:

Похожие вопросы: