sh macOS:获取当前活动的网络设备名称,接口,mac
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh macOS:获取当前活动的网络设备名称,接口,mac相关的知识,希望对你有一定的参考价值。
#!/bin/bash
services=$(networksetup -listnetworkserviceorder | grep 'Hardware Port')
while read line; do
sname=$(echo $line | awk -F "(, )|(: )|[)]" '{print $2}')
sdev=$(echo $line | awk -F "(, )|(: )|[)]" '{print $4}')
#echo "Current service: $sname, $sdev, $currentservice"
if [ -n "$sdev" ]; then
ifout="$(ifconfig $sdev 2>/dev/null)"
echo "$ifout" | grep 'status: active' > /dev/null 2>&1
rc="$?"
if [ "$rc" -eq 0 ]; then
currentservice="$sname"
currentdevice="$sdev"
currentmac=$(echo "$ifout" | awk '/ether/{print $2}')
fi
fi
done <<< "$(echo "$services")"
if [ -n "$currentservice" ]; then
echo $currentservice
echo $currentdevice
echo $currentmac
else
>&2 echo "Could not find current service"
exit 1
fi
以上是关于sh macOS:获取当前活动的网络设备名称,接口,mac的主要内容,如果未能解决你的问题,请参考以下文章
libpcap:如何获取活动网络接口(Mac OSX)
macOS:从网络设备名称获取设备名
macOS:从网络设备名称获取设备名
从基类获取当前活动名称[重复]
Android 6.0:获取当前活动的包名称[重复]
sh [macOS - 列出OD绑定]列出当前绑定的OD服务器#macOS