代码之家  ›  专栏  ›  技术社区  ›  theShingles

如何在bash脚本中获取活动以太网连接的mac地址?

  •  4
  • theShingles  · 技术社区  · 16 年前

    简单问题:

    如何在bash脚本中获取活动以太网连接的mac地址?

    我现在有:

    set - `/sbin/ifconfig eth0 | head -1`
    MAC=$5
    

    它输出eth0的mac地址,但是如果eth1是活动的,我想要它。

    我能提前执行吗 ifconfig | grep inet 但这并不能告诉我哪个接口是活动的,只是那个接口是活动的。我需要抓住它上面的线告诉我哪个是活动连接。

    任何帮助都将不胜感激。

    谢谢您!

    2 回复  |  直到 16 年前
        1
  •  2
  •   theShingles    16 年前

    找到答案:

    set - `ifconfig | grep -B 1 inet | head -1`
    MAC=$5
    

    我喜欢 inet 字符串并返回之前的行。然后用头抓住第一条线。

        2
  •  1
  •   kSiR    16 年前

    你可以这样做

    ifconfig | awk '/eth/ { print $5 }'
    

    也是一个选择…根据用户可能需要在xargs中指定/sbin/ifconfig

    route | awk '/default/ { print $NF }' | xargs -I {} ifconfig {} | awk '/HWaddr/ { print $5 }'
    
    推荐文章