我正在编写一个#!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地址。
答案 0 :(得分:5)
尝试:
[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}'