gpt4 book ai didi

linux - 获取在 Linux 系统上使用的正确以太网接口(interface)

转载 作者:太空宇宙 更新时间:2023-11-04 09:26:54 25 4
gpt4 key购买 nike

大多数系统(例如笔记本电脑)都有两个接口(interface)...我需要系统正在使用的主要设备(假设只有一个),例如 eth0 wlan0 或任何 RHEL7 试图做的...

我一起破解的最好的是:

#!/bin/bash
# -- Get me the interface for the main ip on system

for each in $(ls -1 /sys/class/net) ;do

result=$(ip addr show $each | awk '$1 == "inet" {gsub(/\/.*$/, "", $2); print $2}' | grep "$(hostname -I | cut -d' ' -f1)")

if [ ! -z "${result// }" ] && [ -d /sys/class/net/${each// } ] ;then
echo "Device: $each IP: $result"
break;
fi

done

示例输出:

    ./maineth.sh  
Device: enp0s25 IP: 192.168.1.6

此方法假设主机名 -I 首先提供主 ip

最佳答案

还有一个稍微简单的 OP 版本:

 ip a | awk 'BEGIN{ "hostname -I|cut -d\" \" -f 1" | getline ip} $2 ~ ip {print "Device: "$NF "  IP: "$2}'

关于linux - 获取在 Linux 系统上使用的正确以太网接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35443507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com