Answers:
以下是bash脚本的片段,我用它来确定以太网的MAC,或者如果WiFi不存在(对于Pi Zero W),则该bash脚本用于确定以太网的MAC。
它不依赖于ifconfig
检测分配的IP或任何其他方法,仅需要系统检测网络硬件。
这适用于杰西,舒展或克星
# Find MAC of eth0, or if not exist wlan0
if [ -e /sys/class/net/eth0 ]; then
MAC=$(cat /sys/class/net/eth0/address)
elif [ -e /sys/class/net/enx* ]; then
MAC=$(cat /sys/class/net/enx*/address)
else
MAC=$(cat /sys/class/net/wlan0/address)
fi
基本上,您可以用来MAC=$(cat /sys/class/net/wlan0/address)
在Pi3或Pi Zero W上找到内置WiFi的MAC。
MAC=$(cat /sys/class/net/wlx*/address)
应该可以在Stretch上的WiFi加密狗上使用,但是您可以轻松地将以上内容改编成既可以在Jessie上使用,也可以在Stretch for WiFi和以太网上使用。
/sys/class/net
吗?
许多发行版都被取代ifconfig
,ip
因此我不鼓励使用ifconfig
。
显示wlan0界面:
ip link show wlan0
要么
cat /sys/class/net/wlan0/address
ifconfig
仍然可以使用很多年。删除它仅能节省800 kB,从而破坏了许多旧脚本。
ip link show
可能比更为合适ip addr show
。
ifconfig
默认情况下似乎不再有,Raspbian Stretch似乎拥有它。我喜欢ip
过ifconfig
,虽然我认为鲍勃是说得很对,link
可能比更合适addr
在这种情况下。不过,我要做的解决方案是从中读取它/sys/class/net/wlan0/address
-无需其他解析。另外,我写它只是cat /sys/class/net/wl*/address
为了幼稚地尝试将它保存为即将到来的“可预测的网络接口名称”。
ifconfig wlan0
在第一行的末尾应该是硬件地址,也就是MAC。