Con un script bash, ¿puedo leer la dirección mac de mi eth0 e imprimirlo en un archivo?
linux
shell
ethernet
mac-address
michelemarcon
fuente
fuente

ipcomando:/sbin/ip link show eth0.LC_ALL=C ifconfig eth0 | awk '/HWaddr/ {print $NF}', porque la salida podría estar localizada, no coincidir con 'HWaddr'. LC_ALL = C usa el estándar internacional.awk '{print $NF; exit}'demasiado| head -n 1entonces.Aquí hay un método moderno de Linux:
Es moderno en el que
ifconfigha sido durante mucho tiempo en desuso a favor de laipdeliproute2paquete, y quegreptiene la-Popción de expresiones regulares de Perl para la anchura cero positivo de observación detrás de la afirmación .grep -oEs bueno para la extracción de texto.sedse usa tradicionalmente para eso, pero las afirmaciones de ancho cero de estilo perl me parecen más claras que un comando de sustitución de sed.En realidad, no necesita la
-oopción (en línea)ip, pero prefiero usarla al extraer información de red, ya que me parece más limpio tener un registro por línea. Si está haciendo coincidencias o extracciones más complicadas (generalmente conawk),-oes esencial para un script limpio, por lo que, en aras de la coherencia y un patrón común, siempre lo uso.fuente
Hay otras herramientas que podrían cortar la dirección MAC de
ifconfigla salida, por supuesto. Simplemente me gusta Perl.fuente
El uso
ip -br link show eth0imprimirá algo como esto:Solo necesita la tercera columna, así que:
fuente