代码如下:
p=`ip a | grep "state UP" | awk '{print $2}'| awk -F: '{print $1}' | awk 'NR==1{print}' ` //获取正在一个有效的网卡名
ip a | grep -E "inet (192|172|10).+$p"
第一行说明:
ip a 查看网卡信息的方法 ,grep "state UP" 滤出正在启用的网卡,后面就是过滤出名字了,
如果是多网卡,可以这样写p=(`ip a | grep "state UP" | awk '{print $2}'| awk -F: '{print $1}'),有多个是就变成数组型了再分别调用
第二行说明:
grep -E "inet (192|172|10).+$p" 使用了正则只匹配IP开头是192|172|10的,结果用$p也就是第一名获取到的有效网卡名