【问题标题】:Get interface name into linux shell script variable将接口名称获取到 linux shell 脚本变量中
【发布时间】:2019-07-25 21:51:10
【问题描述】:

我想将接口名称存储到 linux shell 脚本中的变量中。我通过“grep”命令和 IP 地址找到了一个解决方案。我的问题是我的接口此时没有 IP 地址。

接口名称始终以“enx”开头,MAC 地址如“enxb2240be99fc3”,而 MAC 地址可以在每次重启时更改。

有没有办法将此接口名称放入 shell 脚本变量中?

【问题讨论】:

  • 请更具体.. 给出示例输入、预期输出等。
  • 好的,例如:我得到了 3 个带有“ls /sys/class/net”的接口名称。其中一个名称是“enxb2240be99fc3”(MAC 地址每次重新启动都会更改)。我只希望将这个提取到 shell 脚本中的变量中。

标签: linux shell


【解决方案1】:
iname=$(ip -o link show | sed -rn '/^[0-9]+: en/{s/.: ([^:]*):.*/\1/p}')

将接口名称保存到变量iname

【讨论】:

    【解决方案2】:
    iname=$(ls /sys/class/net | grep -i enx)
    echo $iname
    

    【讨论】:

      【解决方案3】:

      ip 地址显示 | awk '/inet.*brd/{print $NF}'

      这也是可行的,检查一下...

      【讨论】:

        猜你喜欢
        • 2021-04-23
        • 1970-01-01
        • 2015-03-26
        • 1970-01-01
        • 1970-01-01
        • 2013-06-15
        • 1970-01-01
        • 1970-01-01
        • 2012-09-13
        相关资源
        最近更新 更多