Avec un script bash, puis-je lire l'adresse mac de mon eth0 et l'imprimer dans un fichier?
linux
shell
ethernet
mac-address
michelemarcon
la source
la source
ip
commande:/sbin/ip link show eth0
.LC_ALL=C ifconfig eth0 | awk '/HWaddr/ {print $NF}'
, car la sortie peut être localisée, ne correspondant pas à «HWaddr». LC_ALL = C utilise la norme internationale.awk '{print $NF; exit}'
aussi| head -n 1
alors.Voici une méthode Linux moderne:
Il est moderne qui
ifconfig
a été dépréciés en faveurip
duiproute2
paquet, et quigrep
a la-P
possibilité pour les expressions régulières Perl pour le positif zéro largeur regarder en arrière affirmation .grep -o
est agréable pour l'extraction de texte.sed
est traditionnellement utilisé pour cela, mais je trouve les assertions de largeur nulle de style perl plus claires qu'une commande de substitution sed.Vous n'avez pas vraiment besoin de l'
-o
option (en ligne)ip
, mais je préfère l'utiliser lors de l'extraction des informations réseau car je trouve plus propre d'avoir un enregistrement par ligne. Si vous effectuez des correspondances ou des extractions plus compliquées (généralement avecawk
),-o
est essentiel pour un script propre, donc par souci de cohérence et d'un modèle commun, je l'utilise toujours.la source
Il existe
ifconfig
bien sûr d' autres outils qui pourraient couper l'adresse MAC de la sortie de. J'aime juste Perl.la source
L'utilisation
ip -br link show eth0
imprimera quelque chose comme ceci:Vous n'avez besoin que de la 3e colonne, donc:
la source