在终端中显示活动接口

问题描述 投票:0回答:1

我正在尝试列出我目前正在使用的网络接口。我需要知道如何在终端和脚本中执行此操作。

ifconfig | grep $(networksetup -listnetworkserviceorder | grep 'Ethernet, Device' | sed -E "s/.*(en[0-9]).*/\1/")

我得到了什么:enter image description here

我想得到什么:只有活动界面的名称

bash macos-sierra
1个回答
0
投票

使用你的第二个命令,将接口名称后的所有内容放入前瞻,因此它不会作为匹配的一部分打印出来。

ifconfig | pcregrep -M -o '^[^\t:]+(?=:([^\n]|\n\t)*status: active)'

当我这样做时,输出是:

en0
awdl0

有关What is AWDL (Apple Wireless Direct Link) and how does it work?的信息,请参阅awdl0

如果只打印networksetup管道的结果,而不使用ifconfig,则第一个命令应该有效。这对我有用:

networksetup -listnetworkserviceorder | grep 'Wi-Fi, Device' | sed -E "s/.*(en[0-9]).*/\1/"

我有Wi-Fi而不是以太网。

© www.soinside.com 2019 - 2024. All rights reserved.