我如何才能获取我所连接的 ESSID 名称?

我如何才能获取我所连接的 ESSID 名称?

我试过了,$iwconfig | grep wlan0但得到的只是一行“我连接的 ESSID 名称存在”。但我只需要名称。

我怎样才能获得名字?

答案1

我不知道这是否是最好的解决方案,但请尝试一下:

对于 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}'

对于频道,(按照评论中的要求)尝试以下操作:

sudo iwlist wlan0 scanning essid ESSID | grep Channel | head -1 | awk -F: '{print $2}'

确保将 ESSID 替换为您的 essid:

对于地址(按照评论中的要求),请尝试以下操作:

ifconfig wlan0 2> /dev/null | awk -F: '/inet\ addr/ {print $2}' | awk '{print $1}'

答案2

在尝试了大量不同的命令、标志、greps、trims、awks 和 seds 之后,我最终决定:

iwgetid -r

简单干净。这将输出 SSID,仅此而已。以前,我使用这个破东西:

iwconfig <iface> | grep ESSID | awk -F: '{print $2}' | sed 's/\"//g'

我最喜欢的 *nix 世界的一点是能够将一堆命令和程序串在一起,利用标准输入和输出来实现我需要的任何东西。但是,当可以将单个标志传递给像伊格蒂德完成同一件事,不再是决定使用哪一个。这是智商测试。

请记住,您仍然可以使用以下方式指定不同的无线网络接口伊格蒂德像这样:

iwgetid <iface> -r

相关内容