我正在编写一个 #!bin/bash
shell 脚本来自动化 MAC 欺骗。在我编写的脚本中,我输出了 ifconfig -a | grep HWaddr
相当于两个不同的变量。命令 ifconfig -a | grep HWaddr
返回
eth0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
和
wlan0 Link uncap: Ethernet HWaddr 00:00:00:00:00:00
但我希望命令返回 只是 wlan0
的 MAC 地址。
最佳答案
尝试:
[root@linux ~]$ /sbin/ifconfig wlan0 | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}'
00:25:90:F0:3F:92
通过将 wlan0
指定为 ifconfig
的第一个参数,您告诉它您只需要有关该特定接口(interface)的信息,因此您应该只返回一行。
grep
命令然后在输出中搜索 MAC 地址,并仅打印匹配的 ifconfig
输出部分。
或
只是为了你的脚本,你可以尝试 follwong:
ifconfig -a | grep HWaddr | awk '{print $5}'
操作系统
ifconfig en1 | awk '/ether/{print $2}'
关于linux - 从 ifconfig 输出中提取 MAC 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29754824/