Respuestas:
El siguiente es un fragmento de un script bash que uso para determinar el MAC de Ethernet, o si no existe WiFi (para Pi Zero W).
No se basa ifconfigni en ningún otro método para detectar la IP asignada, y solo necesita que el sistema detecte el hardware de red.
Esto funciona para Jessie, Stretch o Buster
# 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
Básicamente, podría usar MAC=$(cat /sys/class/net/wlan0/address)para encontrar el MAC de WiFi incorporado en Pi3 o Pi Zero W.
MAC=$(cat /sys/class/net/wlx*/address) debería funcionar en dongles WiFi en Stretch, pero podría adaptar fácilmente lo anterior para que funcione tanto en Jessie como en Stretch para WiFi y Ethernet.
/sys/class/net?
Ingrese en la terminal / consola ifconfig wlan0Al final de la primera línea debe estar la dirección de hardware, también conocida como MAC.
Aquí una salida de muestra (configuración regional alemana):
pi@RasPi0w-1:~ $ ifconfig wlan0
wlan0 Link encap:Ethernet Hardware Adresse b8:27:eb:xx:xx:xx
...
ifconfigsea una buena alternativa en el futuro.
Muchas distribuciones está reemplazando ifconfigcon iplo que me gustaría desalentar el uso de ifconfig.
Para mostrar la interfaz wlan0:
ip link show wlan0
o
cat /sys/class/net/wlan0/address
ifconfigque todavía estará disponible por muchos años. Eliminarlo ahorrará unos miserables 800 kB, rompiendo muchos scripts antiguos.
ip link showes probablemente más apropiado que ip addr show.
ifconfigpor defecto, Raspbian Stretch parece tenerlo. Prefiero ipterminar ifconfig, aunque creo que Bob tiene razón al decir que linkprobablemente sea más apropiado que addren este contexto. Sin embargo, la solución que busqué fue leerlo /sys/class/net/wlan0/address, sin necesidad de análisis adicional. Además, lo escribo como cat /sys/class/net/wl*/addressun intento ingenuo de guardarlo para los próximos "nombres de interfaz de red predecibles".
ifconfig wlan0Al final de la primera línea debe estar la dirección de hardware, también conocida como MAC.