Solusi khusus Linux terbaik adalah menggunakan sysfs:
$ IFACE=eth0
$ read MAC </sys/class/net/$IFACE/address
$ echo $IFACE $MAC
eth0 00:ab:cd:12:34:56
Metode ini sangat bersih dibandingkan dengan yang lain dan tidak memunculkan proses tambahan sejak read
adalah perintah bawaan untuk shell POSIX, termasuk shell non-BASH. Namun, jika Anda memerlukan portabilitas ke OS X, Anda harus menggunakan ifconfig
dan sed
metode, karena OS X tidak memiliki antarmuka sistem file virtual seperti sysfs.
Anda dapat melakukan sebagai berikut
ifconfig <Interface ex:eth0,eth1> | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}'
Anda juga bisa mendapatkan MAC untuk semua antarmuka sebagai berikut
cat /sys/class/net/*/address
Untuk antarmuka tertentu seperti untuk eth0
cat /sys/class/net/eth0/address
Nilai hash berbeda dibuat di windows, linux dan Mac untuk gambar yang sama
bash:/bin/tar:Daftar argumen terlalu panjang saat mengompresi banyak file dengan tar