我试过了,$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