获取网卡mac地址

1.

    echo `ifconfig eth0 2>/dev/null | \
    grep "^.*inet[[:space:]]\+" | \
    sed "s/.*inet[[:space:]]\+\([0-9\.]*\).*/\1/"`

上面这条命令可以帮我获取到网卡的ip,求教想获取mac地址怎么写?

    echo `ifconfig eth0 2>/dev/null | \
    grep "^.*ether[[:space:]]\+" | \
    sed "s/.*ether[[:space:]]\+??????"`

上面??????部分mac的正则表达式怎么写?

阅读 5.2k
2 个回答

ifconfig eth0 |grep -i hwaddr|sed "s/.*HWaddr[[:space:]]\+\([a-z0-9\:]*\).*/\1/"

NIC=$(ls /sys/class/net/ | awk '{if($1 !~ /docker[0-9]*/ && $1 !~ /^lo$/) {print $1;exit 0;}}')
# 如果网卡就是eth0,那就不需要上面这条命令,直接 NIC=eth0 J就可以了。
[ -f /sys/class/net/$NIC/address ] && MACADDR=$(cat /sys/class/net/$NIC/address)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进