1

我正在编写一个#!bin/bashshell 脚本来自动化 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

4

1 回答 1

6

尝试:

[root@linux ~]$ /sbin/ifconfig wlan0 | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}'
00:25:90:F0:3F:92

通过指定wlan0为 的第一个参数ifconfig,您告诉它您只需要有关该特定接口的信息,因此您应该只返回一行。

然后该grep命令在输出中搜索 MAC 地址并仅打印ifconfig输出中匹配的部分。

或者

仅针对您的脚本,您可以尝试以下操作:

ifconfig -a | grep HWaddr | awk '{print $5}'

操作系统

ifconfig en1 | awk '/ether/{print $2}'
于 2015-04-20T17:49:11.740 回答