我正在编写一个shell脚本来自动执行mac欺骗。在我编写的脚本中,我将#!bin/bash
的输出等价于两个不同的变量。命令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
但我希望命令只返回
ifconfig -a | grep HWaddr
的mac地址。 最佳答案
尝试:
[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}'
OSX
ifconfig en1 | awk '/ether/{print $2}'